如何从 ASP.NET Core MVC #control 设置自动滚动

How to set a autoscroll from ASP.NET Core MVC #control

我在 ASP.NET Core 5.0 MVC 中有一个 HTTP Post 函数,它负责保存值并使用查询字符串参数 (?CID=66)

[HttpPost]
[ActionName("SaveClubPlayer")]
public async Task<IActionResult> SaveClubPlayer(ClubsPlayer aClubsPlayer)
{
    if (ModelState.IsValid)
    {
        using (PortalDBContext aPortalDBContext = new PortalDBContext())
        {
            //Logic
            await aPortalDBContext.SaveChangesAsync();
        }
    }

    return RedirectToAction("Index", "ClubFederation", new { CID = 66});

}

提交后,我得到以下格式的 URL。

https://localhost:44324/ClubFederation?CID=5

但我的要求是以下格式,服务器端有没有可能ASP.NET Core 5.0 MVC:

https://localhost:44324/ClubFederation?CID=5#controlid

试试这个:

return Redirect(Url.RouteUrl(new { controller = "ClubFederation", action = "Index", CID = 66}) + "#" + controlid);

Hamed Naeemaei's answer的基础上,补充一下,您需要在要跳转的页面方法中添加[HttpGet("Index")]

因为使用return Redirect(Url.RouteUrl(new { controller = "ClubFederation", action = "Index", CID = 66}) + "#" + controlid);后,我们得到如下url。

https://xxx:port/ClubFederation/Index?CID=66#controlid

添加 [HttpGet()] 后,url 应该是你想要的。


测试代码和结果