【发布时间】:2012-03-09 00:43:44
【问题描述】:
我在使用带有
格式的 url 的 iModelBinder 时遇到问题http://localhost/controller/action/id/value
动作将是控制器中的功能 id/value 是 ie。 id=12
当我尝试上面的链接时,我收到一个 404 错误页面未找到,并且查看堆栈我可以理解 MVC 正在寻找它不理解的路径。
使用以下作品
http://localhost/controller/action?id=value
如果有人知道这个问题是否可以解决,我真的很希望能够使用“/”作为分隔符。
文斯
【问题讨论】:
-
有什么特别的理由不要像大多数 MVC 应用程序那样离开 id 并让您的路由定义为您绑定 Id 吗?
-
嗨,很多处理都是在客户端完成的,MVC 站点正在返回 SOLR 引擎获取数据。到目前为止,我能弄清楚如何将客户端选择传递回服务器的唯一方法是使用 URL 将它们传递给 bakc。它的问题有点违反了 MVC 标准,但我真的想不出另一种方式来完成它
-
@Adam:是有原因的。因为说你有 #!/x/5,2/y/7 或 #!/x/5,2 或 #!/y/7,但永远不要 #!/y/7 或 #!/y/7/x /5,2... 参数必须始终保持相同的顺序,以免我们有 2 个 URL 指向完全相同的内容。
-
@Vince - 您应该发布您的视图和控制器操作,以便更好地说明您想要实现的目标。
-
@sfjedi - 我不确定我是否理解你的推理?什么是 #!是为了代表?你可以有#!/y/7 但不能有#!/y/7?那么你可以拥有哪一个(虽然我不确定是哪一个)。
标签: asp.net-mvc-3 model-binding imodelbinder