ActionSultのMVC文字列
-
27-10-2019 - |
質問
「Home」という名前のデフォルトのコントローラーを使用しています。
私は次のような行動を持っています:
public ActionResult SetID(string ID)
{
int? result = MyGateway.GetAccountByID(ID);
Common.IDNum = result;
return View("Index","Home");
}
次のようなidnumberを渡したいのですが
http://localhost:3314/Home/SetID/AA3420
...そして好きではありません...
http://localhost:3314/Home/SetID?ID=AA3420
上記のリンクは、リストを返すビューによって生成されます。レコードを選択するには、上記のリンクである「選択」をクリックします。現在、「AA3420」をCOMME.CSと呼ばれる他の場所にあるCSファイルにあるセッション変数に設定しています。
どうすればURLを次のようにすることができますか: http://localhost:3314/Home/SetID/AA3420
?
解決
Global.Asax Application_startで次のルートを登録することにより:
var routes = RouteTable.Routes;
routes.MapRoute(
"ID Action", // Route name
"{controller}/{action}/{id}", // URL with parameters
new {controller = "Home", action = "SetID", ID = ""} // Parameter defaults
);
他のヒント
Global.asaxをご覧ください。そこで、デフォルトのルートとデフォルトのパラメーターを定義します。このような:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
所属していません StackOverflow