如何将#id添加到Html.ActionLink

kle*_*ban 1 asp.net-mvc html.actionlink

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

return RedirectToAction()

@Html.ActionLink()

我需要在页面加载时添加#it​​em for tab.感谢名单.

Dar*_*rov 5

只需使用proper overloadActionLink助手:

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

或者如果你愿意的话:

@Html.ActionLink("text", "index", "home", Request.Url.Scheme, null, "item", null, null)
Run Code Online (Sandbox Code Playgroud)

如果您想重定向到这样的操作,您可以使用以下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);
}
Run Code Online (Sandbox Code Playgroud)