4

我有一个 html.actionlink,我希望显示一个指向会员个人资料页面的链接,如下所示: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/ {用户名}

4

3 回答 3

4

假设在您的路线中,用户名令牌是 {username} 就像您显示的那样,试试这个:

<%= Html.ActionLink(r.MemberName, "profile", new { username = r.MemberName } )%>
于 2009-01-23T20:15:27.743 回答
2

您应该在路由表中的其他路由之前添加映射“/members/{MemberName}”的路由。

于 2009-01-23T20:15:37.760 回答
2

感谢您的回复...我的路线与值名称不匹配。

只需确保我的路由 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 })%>

再次感谢

于 2009-01-23T20:43:56.797 回答