ウェブブラウザに表示されたURLを最適化します。私はルーティングがそれには完璧だと知っていますが、私が望むようにそれが可能かどうかはわかりません。リストにプロジェクトのリストがあります。各プロジェクトにはID、名前、カテゴリがあります。詳細商品ページに移動するときは、URLは「/ category/name」である必要があります。 ActionLinkではID、カテゴリ、名前を渡し、Global.asaxでルーティングを調整することができます。私はすでにそれをしていますが、私はまだURLの残りの部分に連結しているIDを持っています。これは醜いです。ここでURLを調整してアドレスバーに表示する
は一例です:私の見解で
ActionLinkの:
@Html.ActionLink(@p.Name, "Detail", new { projectID = @p.ProjectID, category = @p.Category, name = @p.Name })
のGlobal.asax:
routes.MapRoute(null,
"{category}/{name}",
new { controller = "Project", action = "Detail" }
);
結果のURL:
ご覧のとおり、projectIDは常にURLの末尾に追加されます。どうすればそのような行動を避けることができますか?
ありがとうございました。
カテゴリと名前で十分なら、なぜあなたのActionLinkにprojectIdを渡す必要がありますか? – counsellorben
@counsellorben:アドレスバーのURLにカテゴリと名前が表示されます。詳細なビューに渡す適切なプロジェクトを取得するには、アクションコントローラでProjectIDが必要です。 – Bronzato
その後、クリーンURLを提供するので、rouenの答えを受け入れるべきです。 – counsellorben