使用“RedirectToAction”redirect到控制器的散列
你好,我想从Mvc控制器返回一个锚
控制器名称= 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>
我不是问你是否可以这样做: 我如何添加一个锚标记到我的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);
很好的回答gdoron。 这是我使用的另一种方法(只是在这里添加可用的解决scheme)。
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的答案:使用string插值可以使代码更简洁。 它也适用于不同控制器上的操作。
return Redirect($"{Url.RouteUrl(new { controller = "MyController", action = "Index" })}#anchor");