首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mvc3 IModelBinder和url

mvc3 IModelBinder和url
EN

Stack Overflow用户
提问于 2012-02-09 14:15:12
回答 1查看 285关注 0票数 0

我在使用iModelBinder时遇到一个问题,url的格式为

http://localhost/controller/action/id/value

动作将是控制器中的函数,id/value为ie。id=12

当我尝试上面的链接时,我收到了一个404错误页面not found,看着堆栈,我可以理解MVC正在寻找它不理解的路径。

使用以下作品

http://localhost/controller/action?id=value

如果有人知道这个问题是否可以解决,我真的希望能够使用"/“作为分隔符。

文斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-09 15:15:00

url的格式应该是:

代码语言:javascript
复制
http://localhost/controller/action/id

例如:

代码语言:javascript
复制
http://localhost/products/index/1

然后应该在控制器动作中指定id。例如:

代码语言:javascript
复制
public ActionResult Index(int id)
{
    ...

global.asax文件中指定的路由将指定url的格式。对于上述url,默认路由就足够了:

代码语言:javascript
复制
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的名称,因为它是由默认模型绑定器自动绑定到你的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9206249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档