Asp.net-Mvc-3

如何將錨標記添加到我的 URL?

  • October 26, 2011

MVC 3.net 我想在 url 末尾添加一個錨點。

我試圖包含一個錨查詢字元串,但雜湊 ‘#’ 在 url 中更改為 %23 或類似的東西。

有沒有辦法解決這個問題?

ActionLink幫助器的重載允許您指定片段:

@Html.ActionLink(
   "Link Text",           // linkText
   "Action",              // actionName
   "Controller",          // controllerName
   null,                  // protocol
   null,                  // hostName
   "fragment",            // fragment
   new { id = "123" },    // routeValues
   null                   // htmlAttributes
)

將產生(假設預設路由):

<a href="/Controller/Action/123#fragment">Link Text</a>

更新:

如果您想在執行重定向的控制器操作中執行此操作,您可以使用GenerateUrl方法:

public ActionResult Index()
{
   var url = UrlHelper.GenerateUrl(
       null,
       "Action",
       "Controller",
       null,
       null,
       "fragment",
       new RouteValueDictionary(new { id = "123" }),
       Url.RouteCollection,
       Url.RequestContext,
       false
   );
   return Redirect(url);
}

引用自:https://stackoverflow.com/questions/7904835