4

次のようなメンバー プロファイル ページへのリンクを表示したい html.actionlink があります: http://somesite.com/members/ {username}

次のマークアップを使用する場合

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

次のようなリンクが表示されます: http://somesite.com/members?MemberName= {username}

次のような URL を実現するには、ActionLink ヘルパーで何を変更する必要がありますか。

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 に答える