誤った形式のasp.net MVCオブジェクト値のHtml.ActionLink
-
19-08-2019 - |
質問
次のようなメンバープロフィールページへのリンクを表示したい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/ {username}
解決
ルートでユーザー名トークンが表示されているように{username}であると仮定して、これを試してください:
<%= Html.ActionLink(r.MemberName, "profile", new { username = r.MemberName } )%>
他のヒント
<!> quot; / members / {MemberName} <!> quot;をマップするルートを追加する必要があります。ルーティングテーブル内の他のルートの前。
ご回答ありがとうございます... 値の名前に一致するルートがありませんでした。
ルートの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 })%>
ありがとうございます
所属していません StackOverflow