.net href标记重定向到页面,OnGet被调用两次,但第二次使用了错误的值

w8biq8rn  于 2023-05-19  发布在  .NET
关注(0)|答案(1)|浏览(149)

这是我的A标签:

<a href="/Text/@text.Id" class="btn btn-dark">Lire</a>

这是我的OnGet方法,它被调用了两次:

public async Task<IActionResult> OnGet(Guid Id)
    {
        TextPost = await _textPostRepository.GetAsync(Id);

        if (TextPost.Tag.TagManagement.RestrictedToMembers)
        {
            if (!_signInManager.IsSignedIn(User))
            {
                return RedirectToPage("/AccessDenied");
            }
        }

        return Page();
    }

所以第一次ID是正确的。但第二次的Id(谁是Guid)是:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000页面最终呈现良好,但当我处于调试模式时,它会出错。你知道吗?

svmlkihl

svmlkihl1#

OnGet被调用两次
我猜你可以把这个href放在Text.cshtml中,然后在Text.cshtml.cs中调用OnGet,所以它会调用OnGet两次。
但是第二次用错误的值
需要正确传递data参数,请尝试以下代码:

<a href="/Text?Id=@text.Id" class="btn btn-dark">Lire</a>

<a asp-page="Text" asp-route-Id="@text.Id" class="btn btn-dark">Lire</a>

相关问题