我在使用iModelBinder时遇到一个问题,url的格式为
http://localhost/controller/action/id/value
动作将是控制器中的函数,id/value为ie。id=12
当我尝试上面的链接时,我收到了一个404错误页面not found,看着堆栈,我可以理解MVC正在寻找它不理解的路径。
使用以下作品
http://localhost/controller/action?id=value
如果有人知道这个问题是否可以解决,我真的希望能够使用"/“作为分隔符。
文斯
发布于 2012-02-09 15:15:00
url的格式应该是:
http://localhost/controller/action/id例如:
http://localhost/products/index/1然后应该在控制器动作中指定id。例如:
public ActionResult Index(int id)
{
...global.asax文件中指定的路由将指定url的格式。对于上述url,默认路由就足够了:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);然后,默认模型绑定器将自动将您的id (即上述url中的1)绑定到操作中的int id。
就像Adam建议的那样,我认为你不应该在url中指定id的名称,因为它是由默认模型绑定器自动绑定到你的。
https://stackoverflow.com/questions/9206249
复制相似问题