MVC 3.net我想在网址末尾添加一个锚点。
我尝试包含一个锚点查询字符串,但是哈希“#”更改为%23或类似于网址中的内容。
有办法解决这个问题吗?
答案 0 :(得分:36)
ActionLink帮助程序有一个重载,允许您指定片段:
@Html.ActionLink(
"Link Text", // linkText
"Action", // actionName
"Controller", // controllerName
null, // protocol
null, // hostName
"fragment", // fragment
new { id = "123" }, // routeValues
null // htmlAttributes
)
将产生(假设默认路线):
<a href="/Controller/Action/123#fragment">Link Text</a>
更新:
如果您想在执行重定向的控制器操作中执行此操作,则可以使用GenerateUrl方法:
public ActionResult Index()
{
var url = UrlHelper.GenerateUrl(
null,
"Action",
"Controller",
null,
null,
"fragment",
new RouteValueDictionary(new { id = "123" }),
Url.RouteCollection,
Url.RequestContext,
false
);
return Redirect(url);
}