ルートとコントローラーが現在どのように構成されているかによって異なります。
使用するルートの例を次に示します。
次のルートを呼び出して削除できるようにしたい場合:
http://localhost/MyArea/MySection/MySubSection/Delete/20
また、「MyAreaController」という名前のコントローラーがあり、アクションが「削除」であると仮定しましょう。簡単にするために、セクションとサブセクションが単なる文字列であると仮定しましょう。
public class MyAreaController : Controller
{
public ActionResult Delete(string section, string subsection, long id)
{
次に、次の方法でルートを作成できます (Global.asax.cs、またはルートを定義する場所)。
var defaultParameters = new {controller = "Home", action = "Index", id = ""};
routes.MapRoute("DeleteEntryFromMySubSection", // Route name - but you may want to change this if it's used for edit etc.
"{controller}/{section}/{subsection}/{action}/{id}", // URL with parameters
defaultParameters // Parameter defaults
);
注: 通常は、考えられるすべてのパラメーター値に対して列挙型を定義します。次に、params を適切な列挙型にすることができ、パスで引き続き文字列を使用できます。たとえば、「MySection」値を持つ「Section」列挙型を持つことができます。