2011-12-07 10 views
2

こんにちは私は親と子を提出しようとしていますが、私は親の罰金を提出することができますが、子供はいないので、これを行う方法はありますか?かみそりの親子の投稿

これは私のコードです。私が提出した場合

@model IECWeb.Models.CurrencyDay 

using (Html.BeginForm()) { 
@Html.ValidationSummary(true) 
<fieldset> 
    <legend>CurrencyDay</legend> 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.CurrencyDate) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.CurrencyDate) 
     @Html.ValidationMessageFor(model => model.CurrencyDate) 
    </div> 

    <p /> 

    <table> 
     <tr> 
      <th>Currency</th> 
      <th>Rate</th> 
     </tr> 
     @foreach (var item in Model.Currency) { 
      <tr> 
       <td> 
        <div class="editor-field"> 
         @Html.EditorFor(model => item.Name) 
         @Html.ValidationMessageFor(model => item.Name) 
        </div> 
       </td> 
       <td> 
        <div class="editor-field"> 
         @Html.EditorFor(model => item.Rate) 
         @Html.ValidationMessageFor(model => item.Rate) 
        </div> 
       </td> 
      </tr> 
     } 
    </table> 

    <p> 
     <input type="submit" value="Create" /> 
    </p> 
</fieldset> 

私はCurrencyDayオブジェクトではなく、通貨

おかげ sushiBiteのリストを取得します。

答えて

5

は、私はあなたの意見では、エディタテンプレートの代わりに、書き込みループを使用して、あなたをお勧めしますことができます通貨の各要素(~/Views/Shared/EditorTemplates/CurrencyViewModel.cshtml)に対してレンダリングされます。

@model CurrencyViewModel 
<tr> 
    <td> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Name) 
      @Html.ValidationMessageFor(model => model.Name) 
     </div> 
    </td> 
    <td> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Rate) 
      @Html.ValidationMessageFor(model => model.Rate) 
     </div> 
    </td> 
</tr> 

エディタテンプレートの名前と場所が重要であることに注意してください。慣例により、場所は~/Views/SomeController/EditorTemplates(テンプレートがコントローラのアクション間で再利用される場合)またはよりグローバルに~/Views/Shared/EditorTemplatesのいずれかになります。エディタテンプレートの名前は、反復処理するコレクションの各要素の型の名前にする必要があります。

+0

ありがとうございます、これはうまく動作し、私はICollectionをリストにして、クリーナーに見えるように変換する必要はありません:D私はこのコードを見た後、私のコードの一部を書き直す必要があります: – sushiBite

2

モデルバインディングリストのPhil Haacksの記事をお読みください。

<table> 
    <tr> 
     <th>Currency</th> 
     <th>Rate</th> 
    </tr> 
    @Html.EditorFor(x => x.Currency) 
</table> 

と、対応するエディタのテンプレートになります。

Model Binding To A List

希望は、これは

+0

これはうまくいきましたが、私が探していた方向にダーリンからの答えがいっそう多くありました。 – sushiBite

関連する問題