2012-08-26 84 views
0

我熟悉CodeIgniter,所以我不是新手,但我確實感覺像一個移動到使用C#/。NET MVC。我期望調用下面的控制器將URL的正斜槓分隔的參數正確地綁定到控制器輸入參數。例如:我期望http://localhost/Download/51給fileID = 51。但是,當我運行這個時,控制器被調用時,fileID爲空。 HttpGet需要查詢字符串嗎?和&或需要修改路由以正確綁定。請幫助?從CodeIgniter移動到ASP.NET - 不理解默認控制器動作

[HttpGet] 
    public ActionResult Download(String fileID)     
    { 
    ....// http://localhost/Download/51 
    } 

回答

1

要麼使用id這是在配置的默認路由參數名稱您Global.asax

[HttpGet] 
public ActionResult Download(string id) 
{ 
    ....// http://localhost/Download/51 
} 

或修改路由配置,以便fileID用於:

routes.MapRoute(
    "Default", 
    "{controller}/{action}/{fileid}", 
    new { controller = "Home", action = "Index", fileid = UrlParameter.Optional } 
); 

也會檢出following有關路由的更多詳細信息。

+0

非常感謝!沒有意識到路由和控制器之間需要匹配的參數名稱。 – goldfinger