UrlHelper.Action:想要生成一个以'#something'结尾的链接

时间:2010-09-13 08:41:35

标签: c# asp.net-mvc-2 urlhelper

我正在尝试使用 Url.Action 创建一个链接,该链接以 #something 结尾;我认为路线值中有一些东西可以正确地做到这一点,但我找不到谷歌。

到目前为止,我尝试了Url.Action("action", "controller", new {id="something", Area="area"})。结果链接是预期/动作/控制器/区域,但我最终无法解决#something。

Url-wise,我可能会说<a href="<%= Url.Action(..) %>#something">,但这并没有让我觉得特别好;我正在寻找更好的解决方案。

2 个答案:

答案 0 :(得分:12)

Url.Action()方法没有超载为您执行此操作。以太,您必须按照建议的方式进行操作(只需在调用Url.Action()后添加)或创建自己的扩展方法。

您的扩展方法可能如下所示:

public static MvcHtmlString Action(this UrlHelper urlHelper, string action, string controller, string hash)
{
    return string.Format("{0}#{1}", urlHelper.Action(action, controller), hash);
}

答案 1 :(得分:0)

您应该使用LinkExtensions.ActionLink方法之一。文档可以在这里找到: http://msdn.microsoft.com/en-us/library/system.web.mvc.html.linkextensions.actionlink.aspx