Как добавить тег привязки в свой URL? MVC 3.net Я хочу добавить привязку к концу URL. Я попытался включить строку запроса якоря, но хеш '#' изменяется на% 23 или что-то подобное в URL-адресе. Есть ли способ обойти это? Ответ 1 Существует перегрузка помощника 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> UPDATE: и если вы хотите сделать это в рамках действия контроллера, выполняющего перенаправление, вы можете использовать метод 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); }
Ответ 1 Существует перегрузка помощника 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> UPDATE: и если вы хотите сделать это в рамках действия контроллера, выполняющего перенаправление, вы можете использовать метод 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); }