5

我正在尝试使用 Url.Action 创建一个链接,该链接以#something结尾;我认为路线值中有一些东西可以正确执行此操作,但我无法通过 Google 找到它。

到目前为止,我尝试了Url.Action("action", "controller", new {id="something", Area="area"}). 生成的链接是预期的/action/controller/area,但最后我无法解决#something。

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

4

2 回答 2

13

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);
}
于 2010-09-13T08:46:37.257 回答
0

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

于 2011-07-15T21:48:01.367 回答