如何在我的网址中添加锚标记?

时间:2011-10-26 15:16:35

标签: asp.net-mvc-3 url tags anchor add

MVC 3.net我想在网址末尾添加一个锚点。

我尝试包含一个锚点查询字符串,但是哈希“#”更改为%23或类似于网址中的内容。

有办法解决这个问题吗?

1 个答案:

答案 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);
}