ASP.NET、MVC、C# アプリケーションを変更していますが、routes.MapRoute
エントリが期待どおりに動作しません。私の Global.asax.cs ファイルには、次の 2 つのルートがあります。
routes.MapRoute(
"MyRoute1", // Route name
"{controller}/{action}/{something}/{name}/{id}/{myParameterA}",
new { controller = "MyController", action = "MyActionA", category = "something", name = "name", id = "id", myParameterA = "myParameterA" });
routes.MapRoute(
"MyRoute2", // Route name
"{controller}/{action}/{something}/{name}/{id}/{myParameterB}",
new { controller = "MyController", action = "MyActionB", category = "something", name = "name", id = "id", myParameterB = UrlParameter.Optional } );
私のコントローラーのコードは次のようになります-
public ActionResult MyActionA(string something, string name, string id, string myParameterA)
{
//do cool stuff!
}
public ActionResult MyActionB(string something, string name, string id, string myParameterB)
{
//do awesome stuff!
}
を呼び出すと、パラメーターが URL にある場合でもMyActionB
、最後のパラメーターがnullmyParameterB
としてコントローラーに入力されます (例: /MyController/MyActionB/aThing/aName/123/456)。
最後のパラメーター (上記の例では「456」) をオプションにしたいと考えています。
MyActionA
正常に動作しています。
任意の提案をいただければ幸いです! また、どのようにroutes.MapRoute
機能するかについての良い参考文献はありますか? ありがとうございました!