c# - 使用 HTML.TextBoxFor 循环遍历模型中的项目

标签 c# asp.net-mvc razor

<分区>

可能是个愚蠢的问题,但我是 MVC 的新手。

到目前为止,在我的 Razor 中我可以说 @HTML.TextBoxFor(t => t.EmailAddress) 但现在我有一个 for-each:

foreach(var q in Model.Questions)
{
  // so here the t => t.EmailAddress  syntax is not working anymore.
}

我在上面的代码示例中提出了我的问题。因此,当我在 for-each 循环中时,如何使用 @HTML.TextBox ?因为现在它不再使用 lambda 语法了。

最佳答案

不要使用 foreach,因为这会在您尝试将输入绑定(bind)回模型时导致问题。而是使用 for 循环:

for (var i = 0; i < Model.Questions.Count(); i++) {
    @Html.TextBoxFor(m => m.Questions[i])
}

另见 Model Binding to a List MVC 4 .

关于c# - 使用 HTML.TextBoxFor 循环遍历模型中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38205799/

相关文章:

c# - 这段代码中的类型检查是否有代码异味?

c# - XmlDocument::Save() 附加文件中的 xml

c# - 来自具有列表属性的模型的 ASP.NET MVC CheckBoxList

javascript - 使用 Razor 动态 javascript 超链接进行操作

c# - LabelFor不显示值?

html - 如何限制容器的高度和宽度?

asp.net-mvc - Html.DisplayFor 未将值发布到 ASP.NET MVC 3 中的 Controller

c# - ASP.NET MVC Razor 语法

c# - 从一组 x 项中随机选择的 n 项的所有可能组合(算法)

c# - 通过异步方法使用 View 上的数据