C# 在MVC中动态添加文本框时保留计数值

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

我想根据用户点击按钮的次数添加文本框。如果用户点击按钮5次,则应添加5个文本框。我研究了如何使用唯一ID动态添加文本框,但在第二次、第三次等点击时仍保留计数值

我想通过C#

模型

添加视图

@{
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" />

    }

  }
  }