2011-06-30 6 views
1
でパスのみを使用する

私はフォームを使用し、その後別のページにリダイレクトするアクションを使用しています。問題は、アクションリダイレクト関数が、常に完全なパスではなくクエリ文字列でリダイレクトされることです。 エンドURLは次のとおりです。私はそれがしたいのに対し説明= "DDD" & ID = 555 localhost /を取得します。ここでは はlocalhost /取得/ DDD/222クエリーストリングを無効にし、/

私のコードです:? マイルート:

routes.MapRoute(
      "Create", // Route name 
      "{controller}/{action}", // URL with parameters 
      new 
      { 
       controller = "Home" 
      } // Parameter defaults 
      ); 

    routes.MapRoute(
        "Get", // Route name 
        "{controller}/{action}/{Description}/{id}/", // URL with parameters 
        new 
        { 
        controller = "Home", 
        action = "Get", 
        Description = UrlParameter.Optional, 
        id = UrlParameter.Optional 
        } // Parameter defaults 
       );` 

フォームが説明とidを埋め、私はgetアクションにリダイレクトするよcreateアクションを、発射:

public ActionResult Create(string desc,string id) 
    { 
     System.Web.Routing.RouteValueDictionary route = new System.Web.Routing.RouteValueDictionary(new { Description = desc, Id = id }); 

     return RedirectToAction("Get",route); 
    } 

決勝まあ、ゲットアクションは解雇されます。

public ActionResult Get(String Description,String Id) 
    { return View() } 

助けてください

...

答えて

0

は、おそらくあなたはRouteTable.Routes.GetVirtualPathと仮想パスを生成する必要があります。 this articleを参照してください。

関連する問題