我想使用(引导)模式来显示翻译对话框,但它给出了错误的名称。 在浏览器源代码中,它显示NameTranslations [0] .Translation而它必须是NameTranslations [0] .Translation(NameTranslation和[i]之间没有点)。MVC输入名称错误
某些代码:
查看/共享/ EditorTemplate/翻译 .cshtml
@model List<Data.ViewModels.Shared.TranslationViewModel>
@for (var i = 0; i < Model.Count; i++)
{
@Html.TextBoxFor(m => Model[i].Translation)
}
创建 .cshtml
@Html.EditorFor(model => Model.NameTranslations,"Translation")
BrowserResult
<input id="NameTranslations__0__Translation" name="NameTranslations.[0].Translation" type="text" value="">
除了名称约定是错误的,一切都很好。如果我删除了浏览器代码中的点,它已经在控制器中发布了。
和迭代:
我尝试这样@ Html.TextBoxFor(M =>模型[I] .Translation,新的{名称=模型[I] .Translation}) 但结果是相同的 – PJDW 2014-10-09 11:43:31
然后尝试分配值存入本地如var varName = Model [i] .Translation或tempName = Model [i] .Translation +“_”+ i,并将tempName分配给name属性。如果仍然不工作,尝试编辑运行时的值并查看编辑后的值是否已分配 – Oasis 2014-10-09 11:48:47