1

我有一个将数据绑定到模型的 ASP.NET MVC 3 应用程序。模型中的简单对象可以完美地工作:ContactNameTelephone

我只是通过以下方式做到这一点:@Html.TextBoxFor(m => m.ContactName)

模型包含一个字典对象,它没有与我当前的实现绑定。

谁能给我一个例子来说明我如何做到这一点?我绑定到字典的当前代码是:

<div>
@*TABS*@
 <ul class="nav nav-tabs">
@for (var i = 0; i < Model.Translations.Count; i++)
{
<li class="@i == 0 ? 'active' : ''"><a href="#@Model.Translations.Keys.ToList()[i]" data-toggle="tab">@Model.Translations.Keys.ToList()[i]</a></li>
}
</ul>

@*TABCONTENT*@
   <div class="tab-content" style="overflow: visible;">

     @foreach (var translation in Model.Translations)
     {
       for (var i = 0; i < Model.Translations.Count; i++)
        {
         <div class="@i == 0 ? 'active' : ''" id="@translation.Value.CultureCode">@translation.Value.Title</div>
        }
@Html.TextBoxFor(m => translation.Value.Title[]);
@Html.TextBoxFor(m => translation.Value.FullDescription);
@Html.TextBoxFor(m => translation.Value.PreviewDescription);
}
</div>
</div>

非常感谢任何帮助。

4

2 回答 2

3

如果您有以下情况,请使用“您的列表属性”[index].value.id 示例:

public IList<KeyValuePair<int,string>> Properties { get; set; }

你应该写在视图中:

for (int i = 0; i < Model.Properties.Count; i++)
{
    @Html.EditorFor(item=>Model.Properties[i].Value)
}

更新:

 @for (var i=0; i < Model.Translations.Count; i++) { 
        <div id="tabs-@(i)">
            <div class="@i == 0 ? 'active' : ''" id="@Model.Translations[i].Value.CultureCode">@Model.Translations[i].Value.Title</div>
            @Html.TextBoxFor(m => Model.Translations[i].Value.Title);
            @Html.TextBoxFor(m => Model.Translations[i].Value.FullDescription);
            @Html.TextBoxFor(m => Model.Translations[i].Value.PreviewDescription);  }
        </div>

    </div>
        </div>
于 2012-09-07T10:42:08.213 回答
0

试试这个,我正在考虑翻译是字典对象:

  @foreach (var category in translation) {

    @Html.TextBoxFor(m => category.Value.Title);
    @Html.TextBoxFor(m => category.Value.FullDescription);
    @Html.TextBoxFor(m => category.Value.PreviewDescription);

    }
于 2012-09-07T10:42:04.863 回答