#asp.net-mvc #asp.net-mvc-4
#asp.net-mvc #asp.net-mvc-4
Вопрос:
У меня есть проект mvc 4. Это сайт, показывающий данные в виде таблицы со многими ссылками. Я использую
<%: Html.ActionLink("Edit", "EditReport", "phed", New With {.rpid = item.id,.returnUrl = Request.Url.PathAndQuery}, New With {Key .Class = "ico edit"})%>
Мой reoute.config
routes.MapRoute( _
name:="Default", _
url:="{controller}/{action}/{id}", _
defaults:=New With {.controller = "phed", .action = "Index", .id = UrlParameter.Optional} _
)
Он показывает ссылку как
example.com/phed/EditReport?rpid=2amp;returnUrl=phed
Как я могу направить свой запрос следующим образом
example.com/phed/EditReport?rpid=2/returnUrl=phed
Я хочу заменить этот амперсанд ‘amp;’ в id косой /
чертой или любым другим символом?
Комментарии:
1. Вы не можете. amp; — это то, что используется для разделения компонентов строки запроса. То, что вы спрашиваете, в корне нарушает синтаксический анализ строки запроса …. . ..
2. можете ли вы привести нам пример веб-сайта, который использует такие URL-адреса?
Ответ №1:
Не нужно менять маршрут, просто передайте url llok как:
example.com/phed/EditReport/2/returnUrl=phed
для этого кода, как :
<%: Html.ActionLink("Edit", "EditReport", "phed", New With {.id= item.id,.returnUrl = Request.Url.PathAndQuery}, New With {Key .Class = "ico edit"})%>
Комментарии:
1. Он не работает. Я хочу изменить ‘amp;’, используемый в id для разных значений.
Ответ №2:
Попробуйте этот код, обратите внимание на проверенный
<%: Html.ActionLink("Edit", "EditReport", "phed", New With {.rpid = UrlHelper.Encode(item.id "\returnUrl=" Request.Url.PathAndQuery)}, New With {Key .Class = "ico edit"})%>