Jam*_*mes 4 forms asp.net-mvc post
假设您使用具有动态数量的表单元素的ASP.NET MVC创建表单.
例如,您需要为每个产品选中一个复选框,并且产品数量会逐日变化.
您如何处理发布回控制器的表单数据?您无法在操作方法上设置参数,因为您不知道将返回多少表单值.
只需为每个复选框指定唯一的名称值:
<input class="approveCheck" id="<%= "approveCheck" + recordId %>"
name="<%= "approveCheck" + recordId %>" type="checkbox" />
Run Code Online (Sandbox Code Playgroud)
然后在提交后解析Action中的表单值列表:
foreach (var key in Request.Form.Keys)
{
string keyString = key.ToString();
if (keyString.StartsWith("approveCheck", StringComparison.OrdinalIgnoreCase))
{
string recNum = keyString.Substring(12, keyString.Length - 12);
string approvedKey = Request.Form["approveCheck" + recNum];
bool approved = !String.IsNullOrEmpty(approvedKey);
// ...
Run Code Online (Sandbox Code Playgroud)
您不需要将表单值作为参数传递; 你可以从Request.Form中获取它们.
另一个选择:编写模型绑定器以将列表更改为表单提交的自定义类型.
| 归档时间: |
|
| 查看次数: |
1686 次 |
| 最近记录: |