0

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

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

1 回答 1

1

使用idwhich 是您在以下配置中配置的默认路由参数名称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 }
);

另请查看以下内容以获取有关路由的更多详细信息。

于 2012-08-26T16:09:11.157 回答