0

私はMVC3アプリケーションのサブドメインルーティングにMaartenBalliauwアプローチを使用しています。

基本的に、RouteTable.Routesに次の2つのルートを追加します。

 _routes.Add("DomainRoute", new DomainRoute(
                        "{user}.localhost",                                             
                        "{action}/{id}",                                                
                        new { controller = "FileUpload", action = "Index", user = "" });  

 _routes.MapRoute("Default",                                                                  
                "{controller}/{action}/{id}",                                               
                new { controller = "Home", action = "Index", id = "" });

問題は、FileUploadコントローラーが別のMVC Area(アップロードと呼ばれる)に存在する必要があることです。

また、FileUploadコントローラーのインデックスアクションに渡される{user}パラメーターも必要です。このサブドメインからエリアへのアクションリダイレクトをどのように設定する必要がありますか?

PS私はあなたにこの質問の重複がSOにないように思われることを保証することができます。他の人は、サブドメインをパラメータとして扱い、リクエストをエリア内のコントローラにルーティングする方法ではなく、サブドメインをエリアとして扱う方法を求めています。

重要なお知らせ:ユーザーがmax.localhost.com/uploadに移動するときではなく、サブドメインのみ(max.localhost.comなど)に移動するときは常に、サブドメインからエリアへのビュールートを使用する必要があります。

4

1 に答える 1

1

これと同じくらい簡単なはずです:

_routes.Add("DomainRoute", new DomainRoute(
                        "{user}.localhost",                                             
                        "upload",                                                
                        new { controller = "FileUpload", action = "Index", user = "" });

[HttpPost]
public ActionResult Index(HttpPostedFileBase file, string user) 
{

}

http://maxim.localhost/uploadに投稿すると、ユーザー変数は「maxim」に設定されます。

于 2012-04-05T23:07:16.160 に答える