【发布时间】:2015-08-28 13:40:19
【问题描述】:
在 MVC 中,我有一个使用大量重复信息的表单。基本上,他们单击一个按钮,然后弹出另一个“表单”(文本框下拉列表等)。当他们单击提交按钮时,所有这些都以相同的名称返回。我将如何着手使帖子中的名称不同或能够将项目放入列表中?
我的代码:
@Html.TextBox("Textbox1", "", new { placeholder = "", size = "77", maxlength = "76" })
@Html.DropDownList("Country", ViewData["CountryOptions"] as SelectList,"Select", new { id = "Country"})</div>
<div class="pad5">
<span class="FieldLabel">Application *</span><span>@Html.DropDownListFor(model => model.ProductsID, Model.HowProductsAreUsedOptions, new { @class = "General", id = "General-1" })
@Html.DropDownListFor(model => model.ApplicationValue, Model.Options, "--Choose One--", new { id = "Option1", style = "display:none" })
</div>
这些内容在提交时最多可重复 9 次。但是,这将在帖子中给我这个
FormID=8&Textbox1=This&Country=USA&ProductsID=1&ApplicationValue=2&
Textbox13=Is&Country=Canada&ProductsID=2&ApplicationValue=3&
Textbox14=A&Country=Canada&ProductsID=2&ApplicationValue=1&
Textbox15=Test&Country=Canada&ProductsID=1&ApplicationValue=8&
Textbox16=For&Country=Canada&ProductsID=2&ApplicationValue=1&
Textbox17=Stack&Country=USA&ProductsID=1&ApplicationValue=9&
Textbox18=Overflow&Country=USA&ProductsID=2&ApplicationValue=2
我如何制作一些东西,这样它才能将它们分成 7 个不同的值集,而不是只给我一个?
【问题讨论】:
-
如果您希望在帖子数据中返回不同的名称,那么您必须在构建表单时生成不同的名称。
-
表单控件的
name属性需要有索引器,例如name="[0].Country"、name="[1].Country"等,以便在提交时绑定到集合。请参阅this example,了解在视图中生成控件的一种选择。
标签: c# asp.net asp.net-mvc razor http-post