ASP.NET MVC:无法在我的控制器中获取字符串参数

Roe*_*ler 20 asp.net-mvc controller

我的控制器中有以下代码UserController:

public ActionResult Details(string name)
{
    MyModelDataContext db = new MyModelDataContext();
    Product user = db.Products.Single(t => t.Name == name);
    return View(user);
}
Run Code Online (Sandbox Code Playgroud)

我希望当我直接浏览时http://localhost:port/User/Details/SomeName,我将使用name包含"SomeName" 的" "参数来实现此功能.我确实得到了这个函数,但是" name"是null.我没有更改项目的任何默认设置.

我究竟做错了什么?

谢谢

小智 23

如果你没有在Global.asax.cs中更改路由定义,那么我认为它仍然使用参数的默认"id"名称.将其更改为"name"或将action参数重命名为"id".