C# 在MVC中动态添加文本框时保留计数值
我想根据用户点击按钮的次数添加文本框。如果用户点击按钮5次,则应添加5个文本框。我研究了如何使用唯一ID动态添加文本框,但在第二次、第三次等点击时仍保留计数值 我想通过C# 模型 添加视图C# 在MVC中动态添加文本框时保留计数值,c#,asp.net-mvc,C#,Asp.net Mvc,我想根据用户点击按钮的次数添加文本框。如果用户点击按钮5次,则应添加5个文本框。我研究了如何使用唯一ID动态添加文本框,但在第二次、第三次等点击时仍保留计数值 我想通过C# 模型 添加视图 @{ using (Html.BeginForm("Submit", "Dynamic")) { <input type="submit" value="Submit" /> } } @{ 使用(Html.BeginForm(“提交”、“动态”)) { } } 提交视图 @mod
@{
using (Html.BeginForm("Submit", "Dynamic"))
{
<input type="submit" value="Submit" />
}
}
@{
使用(Html.BeginForm(“提交”、“动态”))
{
}
}
提交视图
@model MVCLearning.Models.BookViewModel
@{
using (Html.BeginForm("Submit", "Dynamic"))
{
if (Model.Count > 0 && Model != null)
{
for (int i = 0; i < Model.Count; i++)
{
<div id="div_@i">
@Html.TextBoxFor(m => Model.Books[i].Title)
</div>
}
<input type="submit" value="Submit" />
}
}
}
@model MVCLearning.Models.BookViewModel
@{
使用(Html.BeginForm(“提交”、“动态”))
{
如果(Model.Count>0&&Model!=null)
{
for(int i=0;iModel.Books[i].Title)
}
}
}
}
为什么您认为需要一个单独的Count
属性?只需将用于(inti=0;i
-您的收藏是列表
,它具有计数
属性即使我以前尝试过,但列表如何获得计数,因为它将在运行时确定用户单击按钮的次数,然后我将获得计数。您每次都需要向收藏中添加一本新的书籍
(否则将无法正确绑定任何内容)。但是从性能角度来看,您的方法很差。请参考答案,因此您建议的Jquery将是处理这种情况的正确方法。它肯定会给您带来更好的性能,而不是每次都点击控制器。但是如果您确实想这样做,则需要添加[HttpPost]公共操作结果(BookViewModel模型){model.Books.Add(new Book());return View(model);}
添加新的Book
并在视图中显示。但这似乎毫无意义。您也可以使用单独的视图一次添加一本书。为什么您认为需要单独的Count
属性?只需使用即可(int i=0;i
-您的收藏是列表
,它具有计数
属性即使我以前尝试过,但列表如何获得计数,因为它将在运行时确定用户单击按钮的次数,然后我将获得计数。您每次都需要向收藏中添加一本新的书籍
(否则将无法正确绑定任何内容)。但是从性能角度来看,您的方法很差。请参考答案,因此您建议的Jquery将是处理这种情况的正确方法。它肯定会给您带来更好的性能,而不是每次都点击控制器。但是如果您确实想这样做,则需要添加[HttpPost]公共操作结果(BookViewModel模型){model.Books.Add(new Book());return View(model);}
添加新的Book
并在视图中显示。但这似乎毫无意义。您也可以使用单独的视图一次添加一本书。
@{
using (Html.BeginForm("Submit", "Dynamic"))
{
<input type="submit" value="Submit" />
}
}
@model MVCLearning.Models.BookViewModel
@{
using (Html.BeginForm("Submit", "Dynamic"))
{
if (Model.Count > 0 && Model != null)
{
for (int i = 0; i < Model.Count; i++)
{
<div id="div_@i">
@Html.TextBoxFor(m => Model.Books[i].Title)
</div>
}
<input type="submit" value="Submit" />
}
}
}