Asp.net mvc 4 MVC razor行为异常,显示不正确的文本框值

Asp.net mvc 4 MVC razor行为异常,显示不正确的文本框值,asp.net-mvc-4,razor,html-helper,html.textboxfor,Asp.net Mvc 4,Razor,Html Helper,Html.textboxfor,我这里有一段代码: 视图: 在我的应用程序中,我加载了包含此代码的视图两次,第一次按预期工作,第二次,所有文本框的值都是相同的值,但占位符都不同。或者换句话说,占位符按预期工作,但值(框中的实际文本)不是 我是否遗漏了一些非常明显的东西 编辑: 想要添加一些图片: 在我填写表格之前,我输入了这些值 在这里您可以看到KVpairs的值 这是我提交表格后得到的结果 这些是提交后的占位符 尝试使用for循环代替foreach循环,如下所示: @for (var i = 0; i < Mod

我这里有一段代码:

视图:

在我的应用程序中,我加载了包含此代码的视图两次,第一次按预期工作,第二次,所有文本框的值都是相同的值,但占位符都不同。或者换句话说,占位符按预期工作,但值(框中的实际文本)不是

我是否遗漏了一些非常明显的东西

编辑:

想要添加一些图片:

在我填写表格之前,我输入了这些值

在这里您可以看到KVpairs的值

这是我提交表格后得到的结果

这些是提交后的占位符

尝试使用for循环代替foreach循环,如下所示:

@for (var i = 0; i < Model.KVpairs.Count(); i++)
{
    @Html.TextBoxFor( m => Model.KVpairs[i], new { placeholder = lines })
}
for(var i=0;iModel.KVpairs[i],新的{placeholder=lines}) }
可以提供服务器端代码吗?我不相信服务器端代码会给问题增加太多内容,我返回一个包含foreach循环的局部视图,并向其传递一个包含KVpairs的模型。我相信问题在于htmlhelper,如果它意味着这个视图是使用Ajax加载的,我想我应该提到KVpairs是一个列表。这会改变你的答案吗?谢谢你的帮助,我甚至在这里找到了一个更广泛的答案:它不会改变我的答案,而必须这样做的原因是因为ID和名称标签被分配给了助手呈现的元素。为了让它们正确地绑定到您的模型,您必须在索引中使用for循环。无论如何,您链接的答案指出……为了返回列表中的元素数,必须调用Count(),而不是Length。
@for (var i = 0; i < Model.KVpairs.Count(); i++)
{
    @Html.TextBoxFor( m => Model.KVpairs[i], new { placeholder = lines })
}