使用“RedirectToAction”从控制器重定向到哈希
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用“RedirectToAction”从控制器重定向到哈希相关的知识,希望对你有一定的参考价值。
您好我想从Mvc Controller返回一个锚点
控制器名称= DefaultController;
public ActionResult MyAction(int id)
{
return RedirectToAction("Index", "region")
}
这样,当指向索引时,url是
http://localhost/Default/#region
以便
<a href=#region>the content should be focus here</a>
我不是问你能不能这样做:How can I add an anchor tag to my URL?
答案
我发现了这种方式:
public ActionResult MyAction(int id)
{
return new RedirectResult(Url.Action("Index") + "#region");
}
您也可以使用这种冗长的方式:
var url = UrlHelper.GenerateUrl(
null,
"Index",
"DefaultController",
null,
null,
"region",
null,
null,
Url.RequestContext,
false
);
return Redirect(url);
http://msdn.microsoft.com/en-us/library/ee703653.aspx
另一答案
伟大的答案gdoron。这是我使用的另一种方式(只是在这里添加到可用的解决方案)。
return Redirect(String.Format("{0}#{1}", Url.RouteUrl(new { controller = "MyController", action = "Index" }), "anchor_hash");
显然,有了gdoron的答案,在这个简单的案例中,这可以成为一个更清洁的人;
return new RedirectResult(Url.Action("Index") + "#anchor_hash");
另一答案
扩展Squall的答案:使用字符串插值可以使代码更清晰。它也适用于不同控制器上的操作。
return Redirect($"{Url.RouteUrl(new { controller = "MyController", action = "Index" })}#anchor");
另一答案
点网核心的一种简单方法
public IActionResult MyAction(int id)
{
return RedirectToAction("Index", "default", "region");
}
以上产生/ default / index #region。第三个参数是在#之后添加的片段。
Microsoft docs - ControllerBase
以上是关于使用“RedirectToAction”从控制器重定向到哈希的主要内容,如果未能解决你的问题,请参考以下文章
跨控制器跳转view——RedirectToRoute和RedirectToAction