【发布时间】:2018-06-09 00:23:20
【问题描述】:
代码有效,但很愚蠢。
当视图返回给用户时,页面滚动到 companyId 锚点。
愚蠢的是,我必须用 another route(没有“terms”)公开另一个 public 操作
我想重定向到 /terms/companyId 但是我得到一个 ambigiousAction 异常,表明这个具有相同路由的操作已经存在......
如果可能不改变第一条路线,如何解决这个困境?
[HttpGet("~/terms/{companyId}")]
public IActionResult Home(string companyId})
{
string url = Url.Action(nameof(HomeForRedirect), new { companyId}) + "#conditions";
return new RedirectResult(url);
}
[HttpGet("{companyId}")]
public IActionResult HomeForRedirect(string companyId)
{
Viewbag.CompanyId = companyId;
return View(nameof(Home));
}
【问题讨论】:
-
哈希通常是客户端的东西。所以我认为它应该出现在你点击到达那里的链接中,而不是在 HomeController 中设置。
-
谢谢我完全忘记了它确实有效,并且如此专注于附加哈希服务器端,因为我在 SO 上找到了很多关于它的帖子并认为它必须是一个解决方案,但实际上它是一个麻烦的解决方案:-),谢谢!
标签: asp.net-core asp.net-core-2.0 asp.net-core-mvc-2.0