MVC 在动态文本框的控制器中获取值的最佳方式

MVC Best way to get values in controller of dynamically Textboxes

我想创建一个投票视图,用户可以在其中输入投票名称和选项。但是一开始我不知道用户会输入多少个选项。

我正在考虑使用一个文本框和一个按钮来创建另一个文本框。

我的问题是我不知道如何获取这个新文本框的值。

最好的方法是什么?

我想创建一个 @Html.HiddenFor(x => x.PollOptionsStr),所有值都用逗号分隔并用 jQuery 填充它,但我不知道这是否是最佳选择。

假设您的模型是

public class PollModel
{
    public string PollName{get;set;}
    public List<string> PollOptions{get;set;}
    public int MaxPollStars{get;set;}
}

那么您的 post 方法将需要一个 PollModel

[httpPost]
[ValidateAntiForgeryToken]
public ActionResult DynamicPoll(PollModel model)
{
   foreach(var item in model.PollOptions)
   {
      ///do something to each poll option
   }
}

您可以使用 JS 映射动态创建的投票选项以创建具有结构的元素

name="PollOptions"