控制器参数数量未知?
问题描述:
问候!控制器参数数量未知?
我正在做一个ASP.NET MVC 2的表单,在我看来我有一个TextBox的名称和两个按钮。 其中一个按钮用于提交,另一个按钮具有JS中的功能,添加了另一个文本框和一个下拉列表。
在后控制器操作方法中,如何获取所有参数? 这里是查看代码:
<body>
<div>
<%using (Html.BeginForm())
{ %>
New Insurance Type Name:
<%=Html.TextBox("InsuranceName") %>
<div id="InsuranceDetails"/>
</div>
<div id="Buttons">
<input type="button" onclick="AddFieldForm()" value="Add Field" />
<p />
<input type="submit" value="Submit" />
<%} %>
</div>
</body>
答
你可以只使用控制器上的形式采集参数,并确保您的生成文本框具有唯一的ID。
public ActionResult SomeMethod(FormCollection formValues)
{
foreach (string key in formValues)
{
if (key.ToLower().StartsWith("form-text-"))
{
//Do Something
}
}
}
答
如果你正在处理的表单中的项目员额任意数量的,我建议编码与JavaScript的客户端的信息,这样你实际上只将单个项目发送回您的控制器。 JSON似乎是明显的选择。
https://github.com/douglascrockford/JSON-js/blob/master/json2.js
+0
但我怎么做,如果我不知道有多少项目,我得到了什么?我应该给他们所有独特的id属性? 谢谢。 – StackPointer 2010-03-30 08:47:01
非常感谢。 – StackPointer 2010-03-29 14:32:28