ASP.NET MVC 2 によって生成される既定のスキャフォールディング ビューには、次のようなリンクが含まれています。
<%: Html.ActionLink("Back to List", "Index") %>
<%: Html.ActionLink("Create New", "Create") %>
同じルートからこのページにアクセスした場合、これらのリンクは完璧です。しかし、たとえば、Orders と Persons があり、/Orders/Edit/17
経由/Persons/Orders/3
で移動した場合、「Edit Orders」ビューは注文のみを認識しているため、「back to list」は、目的の Persons ルートではなく Orders ルートに戻ります。これはナビゲーションをぎこちなくし、流れを壊します..
どこから来たかに関係なく、同じ「注文の編集」ビューを再利用したいのですが、この情報を渡す方法がわかりません。
次のようなパラメーターを渡すことができることはわかっています/Orders/Edit/17?myparam=myvalue
が、グリッドの並べ替え/フィルター順序を示すパラメーターを渡す必要がある場合、後で選択肢が制限されますか?
リンクを適切にレンダリングできるように、リターン/オリジンの場所をビューに渡すための推奨される方法は何ですか? それ以外の場合、コントローラーとは異なる方法でビューを呼び出すにはどうすればよいですか?
編集:
クリーンなソリューションについては、この投稿を参照してください