Redirect to a hash from the controller using "RedirectToAction"
I found this way:
public ActionResult MyAction(int id)
{
return new RedirectResult(Url.Action("Index") + "#region");
}
You can also use this verbose way:
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
Great answer gdoron. Here's another way that I use (just to add to the available solutions here).
return Redirect(String.Format("{0}#{1}", Url.RouteUrl(new { controller = "MyController", action = "Index" }), "anchor_hash");
Obviously, with gdoron's answer this could be made a cleaner with the following in this simple case;
return new RedirectResult(Url.Action("Index") + "#anchor_hash");
A simple way in dot net core
public IActionResult MyAction(int id)
{
return RedirectToAction("Index", "default", "region");
}
The above yields /default/index#region. The 3rd parameter is fragment which it adds after a #.
Microsoft docs - ControllerBase