【发布时间】:2012-09-19 13:50:36
【问题描述】:
我无法在服务器端检索简单列表。谁能指出我正确的方向?
public class TestList
{
public string id { get; set; }
public string name { get; set; }
public string location { get; set; }
}
表格:
@model List<SampleMVC4App.Controllers.TestList>
@{
ViewBag.Title = "Index";
}
<h2>
Index</h2>
@using (Html.BeginForm())
{
<input name="cust" value="1" type="hidden" />
<input name="[1].id" value="de107502-284d-459b-80a1-762ce0860cd8" type="hidden" />
<input name="[1].name" value="test1" type="hidden" />
<input name="[1].location" value="location1" type="hidden" />
<a id="AddAnother" href="#">Add</a>
<input type="submit" value="submit" />
}
控制器:
[HttpPost]
public ActionResult Edit(ICollection<TestList> cust) **<---Null**
{
return View();
}
【问题讨论】:
-
您输入字段的名称看起来很奇怪。恐怕他们是不正确的。
-
我们可以看看您是如何生成表单的吗?包括呈现视图的动作和视图本身?
-
感谢您的回复。我已经发布了表单标记。我正在测试功能,所以只渲染了 View()。我正在尝试使用静态标记,因为我没有成功绑定到对象。类似于 Phil Haack 在他的示例中所做的。
-
我建议将您的表单更改为使用(相当于 Razor 的)
<%= Html.TextBoxFor( m => m[1].Name ) %>,然后对其进行测试。 -
戴,我正在尝试使用具有唯一 ID 的隐藏变量。通过使用索引,我能够检索它。