如何将#id添加到Html.ActionLink

时间:2013-03-11 21:45:51

标签: asp.net-mvc html.actionlink

如何生成<a href="/home/index#item">text</a>之类的链接:

return RedirectToAction()

@Html.ActionLink()

我需要在页面加载时为标签打开添加 #item 。 感谢名单。

1 个答案:

答案 0 :(得分:5)

只需使用ActionLink助手的proper overload

@Html.ActionLink(
    linkText: "text", 
    actionName: "index", 
    controllerName: "home", 
    protocol: Request.Url.Scheme, 
    hostName: null, 
    fragment: "item", 
    routeValues: null, 
    htmlAttributes: null
)

或快捷方式,如果你愿意:

@Html.ActionLink("text", "index", "home", Request.Url.Scheme, null, "item", null, null)

如果您想重定向到此类操作,可以使用GenerateUrl方法:

public ActionResult SomeAction()
{
    string url = UrlHelper.GenerateUrl(
        routeName: null,
        actionName: "index",
        controllerName: "home",
        protocol: null,
        hostName: null,
        fragment: "item",
        routeValues: new RouteValueDictionary(),
        routeCollection: Url.RouteCollection,
        requestContext: Url.RequestContext,
        includeImplicitMvcValues: false
    );
    return Redirect(url);
}