как заменить

#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"})%>