Asp.net mvc 编辑字符串列表

Asp.net mvc 编辑字符串列表,asp.net-mvc,razor,Asp.net Mvc,Razor,我希望用户输入5个字符串(问题的可能答案),因此我的问题视图模型中有以下元素: private IEnumerable<string> _possibleAnswers; public IEnumerable<string> PossibleAnswers { get { return _possibleAnswers ?? new List<stri

我希望用户输入5个字符串(问题的可能答案),因此我的问题视图模型中有以下元素:

private IEnumerable<string> _possibleAnswers;
        public IEnumerable<string> PossibleAnswers 
        { 
            get
            {
                return _possibleAnswers ?? new List<string>();
            }
            set 
            {
                _possibleAnswers = value;
            }
        }
private IEnumerable\u possibleAnswers;
公共i无数可能的回答
{ 
得到
{
返回_possibleAnswers??新列表();
}
设置
{
_可能答案=值;
}
}
我的部分观点如下:

@model IEnumerable<string>
@{
    ViewBag.Title = "PossibleAnswers";
}

@foreach (var str in Model)
{
       @Html.EditorFor(m => str, new { @class = "form-control", placeholder = "Odgovor" })
}
@model IEnumerable
@{
ViewBag.Title=“可能的回答”;
}
@foreach(模型中的var str)
{
@EditorFor(m=>str,new{@class=“form control”,placeholder=“Odgovor”})
}

但由于可能的回答列表为空,因此在运行应用程序时,没有任何编辑字段显示。我需要更改什么才能显示5个编辑字段并将它们正确地发布回控制器?

返回\u可能的答案??新列表{“”、“”、“”、“”、“”};
是解决方案。

将属性更改为
public IEnumerable-PossibleAnswers{get;set;}
并添加5个
string。controllerPossible中的空元素为每个答案发送一个空格字符(“”),而不是空白?请尝试
返回_-PossibleAnswers??新列表{“”、“”、“”、“”、“”}谢谢大家,现在一切正常!特别感谢@StephenMuecke,他给出的每一个答案都很有帮助!也不要使用
@foreach(模型中的var str){@Html.EditorFor(m=>str)}
-它会生成无效的Html和重复的名称属性(它们都有
id=“str”name=“str”
)。它要么是
for(int i=0;im[i])}
(模型需要是
IList
),要么就是
@Html.EditorFor(m=>m)