Html.ActionLink в значении объекта MVC asp.net в неправильном формате
-
19-08-2019 - |
Вопрос
У меня есть ссылка html.action, на которой я хочу отобразить ссылку на страницу профиля участника, например: http: / /somesite.com/members/ {имя пользователя}
При использовании следующей разметки
<%= Html.ActionLink(r.MemberName, "profile", new { MemberName = r.MemberName } )%>
Я получаю ссылку, которая выглядит следующим образом: http://somesite.com/members?MemberName= а> {имя пользователя}
Что мне нужно изменить в помощнике ActionLink, чтобы получить URL-адрес, подобный следующему:
http://somesite.com/members/ {имя пользователя}
Решение
Предполагая, что в ваших маршрутах токен имени пользователя {username}, как вы видите, попробуйте это:
<%= Html.ActionLink(r.MemberName, "profile", new { username = r.MemberName } )%>
Другие советы
Вы должны добавить маршрут, который отображает " / members / {MemberName} " перед другими маршрутами в таблице маршрутизации.
Спасибо за ваши ответы ... У меня не было моего маршрута, соответствующего имени значения. Р>
Просто убедившись, что URL моего маршрута совпадает, он заработал. Р>
Вот мой код ....
//Global.asax
routes.MapRoute(
"Profile",
"members/{membername}",
new { controller = "Members", action = "Profile", memberName = "" }
);
//In the Controller
public ActionResult Profile(string memberName)
{
return View();
}
//My Action Link
<%= Html.ActionLink(r.MemberName, "profile", new { memberName = r.MemberName })%>
Еще раз спасибо