我正在使用MVC和razor,我有两个模型:
public class bookModel {
public int ID {get;set;}
public string title {get;set;}
public List<otherStuff> stuff {get;set}
}
public class otherStuff {
public string text {get;set;}
public int page {get;set;}
}
如何从视图中将stuff
插入otherStuff
?
视图看起来像这样:
@model name.models.bookModel
@using (html.beginForm("action", "controller", FormMethod.Post, null)){
@html.textBox("title")
...
}
和行动:
[HttpPost]
public ActionResult action (bookModel model) {
//do something
}
此时我可以访问标题。但我仍然没有找到如何将stuff
插入ortherStuff
并在操作内部访问它。
答案 0 :(得分:1)
您需要在视图中循环List<otherStuff>
并输出如下控件:
for (int i = 0; i < Model.stuff.Count; i++)
{
@Html.TextBoxFor(x => x.stuff[i].text)
}
控件将使用名称中的索引进行渲染,如下所示:
<input name="stuff[3].text" type="text" etc..
当您向控制器发帖时,您可以迭代提交的stuff
数据,如下所示:
foreach (var item in model.stuff)
{
}