我有一个包含许多字段的数据类:
public class Person
{
public int id { get; set }
public string Name { get; set; }
public double Rate { get; set; }
public int Type { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如果我理解Scott Hanselman对绑定对象数组的看法,我应该能够创建一个表单视图,呈现如下所示的HTML:
<input name="Person[0].id" value="26" type="hidden" />
<input name="Person[0].Name" value="Tom Smith" type="text" />
<input name="Person[0].Rate" value="40.0" type="text" />
<select name="Person[0].Type">
<option selected="selected" value="1">Full Time</option>
<option value="2">Part Time</option>
</select>
<input name="Person[1].id" value="33" type="hidden" />
<input name="Person[1].Name" value="Fred Jones" type="text" />
<input name="Person[1].Rate" value="45.0" type="text" />
<select name="Person[1].Type">
<option value="1">Full Time</option>
<option selected="selected" value="2">Part Time</option>
</select>
Run Code Online (Sandbox Code Playgroud)
然后,我应该能够使用如下所示的操作方法在我的控制器中捕获此数据:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult People(Person[] array)
{
// Do stuff with array
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.数组变量始终为null.我解释这一点,因为数据绑定不起作用.但为什么?
Tho*_*ock 21
您的字段应命名为array [0] .id,array [0] .Type,...
它们应该具有数组实例的名称,而不是数组中Type的名称.
或者,您可以将actioncontroller的签名更改为:Person [] Person
你明白了这一点:-)
<input name="Person[0].Rate" value="40.0" type="text" />
Run Code Online (Sandbox Code Playgroud)
应该:
<input name="array[0].Rate" value="40.0" type="text" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5283 次 |
| 最近记录: |