0
セグメントはwww.example.com/Store*セグメントでHtml.ActionLinkを作成しようとしています/セグメント1 /セグメント2 /セグメント3 *。セグメントはオプションです。MVC3:コントローラとパラメータのみのURL(アクションなし)
IVEは、次のルートを定義した:
routes.MapRoute("Store",
"{controller}/{Segment1}/{Segment2}/{Segment3}",
new
{
controller = "Store",
action = "Show",
segment1 = UrlParameter.Optional,
segment2 = UrlParameter.Optional,
segment3 = UrlParameter.Optional
}
);
アクションは、URLで見られるべきではありません。私は有効なリンクを作成することができないようです。次のように私はリンクを生成ビューで
:
<ul>
@foreach (KeyValuePair<string, string> item in ViewBag.LinkList){<li>@Html.ActionLink(item.Key, "Show", "Store", new { item.Value })</li>}
</ul>
私はadressbarすべてにURLを入力する(アクションパラメータとして、セグメントを読むことができます)うまく行くが、私は、HTMLを取得するカント。 ActionLinkが正しい。 誰も私にこのルートのための働くActionLinkの例を教えてくれますか?ありがとう!
ありがとう、それを編集しました。それは投稿の誤字ですが、私のコードのルートはそれを持っていませんでした:) – stefjnl
ああ、ありがとう。 '@Html.ActionLink(item.Key、" Show "、" Store "、新しい{item.Value})'この行も間違っているようですが、 'new {item.Value}'は有効な式ではありません。 –
私は、 〜/ Store/segment1 /のようなものを生成するアクションリンクを作成する必要があることを知っています。 item.Keyはurlnameであり、item.Valueはパラメータ – stefjnl