2
我想创建asp mvc 3页面,带有基于列表中对象的数量动态生成的文本字段,该列表位于我传入页面控制器的模型中。我遇到的问题是每当我发布到控制器时,列表都会维护这些值,而不是列表中对象的名称。这里有一个例子:ASP MVC 3 RAZOR动态表单生成后
的型号:
public class SomeModel
{
List<Field> fieldList;
public SomeeModel()
{
fieldList = new List<Field>();
}
public string Name { get; set; }
public List<Field> FieldList
{
get
{
return fieldList;
}
}
}
控制器:
public ActionResult Preview()
{
SomeModel model = new SomeModel();
model.FieldList.Add(new Field { name = "test 1"});
model.FieldList.Add(new Field { name = "test 2"});
model.FieldList.Add(new Field { name = "test 3"});
return View(model);
}
的观点:
@using (Html.BeginForm()) {
<div>
<fieldset>
<legend>Input Field List</legend>
@for (var i = 0; i < Model.FieldList.Count(); i++)
{
<div class="editor-label">
@Html.Label(Model.FieldList[i].name)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => Model.FieldList[i].value)
</div>
}
<p>
<input type="submit" value="Generate PDF" />
</p>
</fieldset>
</div>
我看到了类似的帖子在这里.NET MVC Razor Dynamic Form Generation但答案跑进我得到了同样的问题。希望我清楚!如果没有,我会发布更多信息。谢谢!
谢谢!完美工作! – Petezah
如何在代码中设置hiddenfield的值?例如:如何设置这一个@ Html.HiddenFor(model => model.name) –