質問

次のようなメンバープロフィールページへのリンクを表示したい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 })%>

ありがとうございます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top