从CodeIgniter迁移到ASP.NET - 不了解默认控制器操作

时间:2012-08-26 16:07:15

标签: c# asp.net-mvc

我熟悉CodeIgniter,所以我不是新手,但是当我使用C#/ .NET迁移到MVC时,我确实感觉像是一个新手。我希望调用下面的控制器可以正确地将URL的斜杠分隔参数绑定到控制器输入参数。例如:我希望http://localhost/Download/51给出fileID = 51。但是,当我运行它时,调用控制器时fileID为null。要么HttpGet需要查询?和&或者需要以某种方式修改路由以正确绑定。请帮帮忙?

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

1 个答案:

答案 0 :(得分: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以获取有关路由的详细信息。