質問

「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
);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top