mvc3 IModelBinder 和 url
我在使用 iModelBinder 时遇到问题,其 url 格式为
http://localhost/controller/action/id /value
该操作将是控制器中的函数 id/值是ie。 id=12
当我尝试上面的链接时,我收到一个 404 错误页面未找到,并且查看堆栈我可以了解到 MVC 正在寻找它不理解的路径。
使用以下作品
http://localhost/controller/action?id=value
如果任何人想法如果这个问题可以解决,我真的很希望能够使用“/”作为分隔符。
文斯
I'm having a problem using iModelBinder with url in the format of
http://localhost/controller/action/id/value
the action would be the function in the controller
the id/value is ie. id=12
When I try the above link i receive a 404 error page not found, and looking at the stack I can understand that MVC is looking for a path it does not understand.
using the following works
http://localhost/controller/action?id=value
If anyone as any idea if this problem can be resolved, I would really like to be able to use "/" as separators.
Vince
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
url 的格式实际上应该是:
例如:
然后应该在控制器操作中指定 id。例如:
global.asax文件中指定的路由会指定url的格式。对于上面的 url,默认路由就足够了:
然后默认模型绑定器将自动将您的 id(即上面 url 中的 1)绑定到操作中的 int id。
就像 Adam 建议的那样,我认为您不应该在 url 中指定 id 的名称,因为默认模型绑定程序会自动将其绑定到您。
The url should really be in the format:
For example:
And the id should then be specified in the controller action. For example:
The route specified in the global.asax file will specify the format of the url. For the above url the default route will suffice:
Then the default model binder will automatically bind your id (i.e. 1 in the above url) to the int id in the action.
Like Adam was suggesting, I don't think you should specify the name of the id in the url as it is automatically bound to for you by the default model binder.