1

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

return RedirectToAction()

@Html.ActionLink()

我需要为页面加载时打开的标签添加#item 。谢谢。

4

1 回答 1

5

只需使用proper overloadActionLink 助手:

@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);
}
于 2013-03-11T21:47:28.243 回答