私は 1 つのサイトを持っており、コントローラーは のようなユーザーの名前です。Mary も/John/NewPage
同じです。
新しいユーザーごとにコントローラーを作成せずにこれを行うにはどうすればよいですか?
ありがとう
私は 1 つのサイトを持っており、コントローラーは のようなユーザーの名前です。Mary も/John/NewPage
同じです。
新しいユーザーごとにコントローラーを作成せずにこれを行うにはどうすればよいですか?
ありがとう
カスタム ルーティングを調べます。何かのようなもの:
context.MapRoute(
"User_default", // Route name
"{userName}/{controller}/{action}/{id}", // URL with parameters
new { id = UrlParameter.Optional } // Parameter defaults
)
ただし、これらの URL を自分で作成する必要があります。
あなたはこのようなことをすることができます。「UserController」のような名前のコントローラーを定義してから、カスタムルートを使用して、URLに「UserController」を含める必要がないようにします。
context.MapRoute(
"User_Route", // Route name
"{userName}/{action}", // URL with parameters
new {
controller = "UserController",
action = "NewPage"
} // Parameter defaults
);
この設定では、「/ Mary / NewPage」URLはUserController.NewPage( "Mary")を呼び出し、「/ John / EditPage」はUserController.EditPage( "John")を呼び出し、「/Jane」だけがUserControllerを呼び出します。 NewPage( "Jane")。
また、最初に呼び出されるように、そのルートの上にあるさまざまなコントローラーのルートを定義する必要があります。例えば:
context.MapRoute(
"SomeOther_Route", // Route name
"SomeOtherController/{action}/{id}", // URL with parameters
new {
controller = "SomeOtherController"
} // Parameter defaults
);
上記のURLは引き続き機能しますが、このURL "/ SomeOtherController / DefinedAction / 12"はSomeOtherController.DefinedAction(12)のようなものを呼び出します。