1

データをモデルにバインドするASP.NETMVC3アプリケーションがあります。モデル内の単純なオブジェクトは、 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

use "your list property"[index].value.id example if you have:

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

you should write in view:

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

updated:

 @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 に答える