Html.ActionLink в значении объекта MVC asp.net в неправильном формате - PullRequest
4 голосов
/ 23 января 2009

У меня есть ссылка html.action, которую я хочу отобразить на странице профиля участника, например: http://somesite.com/members/{username}

При использовании следующей разметки

<%= Html.ActionLink(r.MemberName, "profile", new { MemberName = r.MemberName } )%>

Я получаю ссылку, которая выглядит следующим образом: http://somesite.com/members?MemberName={username}

Что мне нужно изменить в помощнике ActionLink, чтобы получить URL-адрес, подобный следующему:

http://somesite.com/members/{username}

Ответы [ 3 ]

4 голосов
/ 23 января 2009

Предполагая, что в ваших маршрутах токен имени пользователя {username}, как вы видите, попробуйте это:

<%= Html.ActionLink(r.MemberName, "profile", new { username = r.MemberName } )%>
2 голосов
/ 23 января 2009

Спасибо за ваши ответы ... У меня не было моего маршрута, соответствующего имени значения.

Просто убедившись, что 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 })%>

Еще раз спасибо

2 голосов
/ 23 января 2009

Вы должны добавить маршрут, который отображает "/ members / {MemberName}" перед другими маршрутами в таблице маршрутизации.

...