【发布时间】:2016-08-31 13:30:54
【问题描述】:
我正在构建一个页面,该页面将发送一个包含任意数量的productId_{index} 和productQuantity_{index} 的查询字符串。
例如:
http://www.website.com/action?productId_1=65&productQuantity_1=1&productId_2=34&productQuantity_2=1
因此,此 URL 会将 65 的 ProductId 映射到 1 的 quantity 并将 34 的 ProductId 映射到 1 的 quantity。
我无法更改将其发送到我为什么没有使用 a solution like this 的页面的方式。
我希望能够以某种方式将这种格式的查询映射到强类型的对象列表。
这个问题主要是询问 MVC 的方式来做到这一点,因为我已经有了一个使用 Request 对象的解决方案,但是能够做到这一点,MVC 方式会更好。
【问题讨论】:
-
给个url例子
-
@StephenMuecke 完成,不确定是否格式化。
-
使用自定义模型绑定器:stackoverflow.com/questions/32373662/…
-
@stephen.vakil 我会调查一下,谢谢。
-
MVC 方式 是使用您链接到的文章中描述的集合索引器正确生成 url。如果它确实是一个未知长度,那么您就有超过查询字符串限制并引发异常的风险。但是您始终可以创建一个自定义
ModelBinder来读取Request值,然后将其转换为您的模型属性(但这正是您已经在做的事情)
标签: c# asp.net-mvc