我正在尝试使用 Url.Action 创建一个链接,该链接以 #something 结尾;我认为路线值中有一些东西可以正确地做到这一点,但我找不到谷歌。
到目前为止,我尝试了Url.Action("action", "controller", new {id="something", Area="area"})
。结果链接是预期/动作/控制器/区域,但我最终无法解决#something。
Url-wise,我可能会说<a href="<%= Url.Action(..)
%>#something">
,但这并没有让我觉得特别好;我正在寻找更好的解决方案。
答案 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