2011-12-23 3 views
0

ASP.NET MVCビューには多くの類似のコードが含まれていますが、これを統合する方法があるかどうかを判断しようとしています。ここに質問1のサンプルがあります。私は18の質問について同じものを作りたいと思います。ASP.NET MVC Razorビューでlamba式を含む入力要素を統合

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

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

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

18個の質問のために、このコードを統合するために、すべての質問のためのループまたはMVCでいくつかの他のメカニズムを反復処理する方法はありますか?

+0

PartialView-Sは何が必要です –

答えて

1

私はこのような何かがうまくいくと思う:

@{ 
    var properties = new List<Func<Model, object>> 
        { 
         model => model.Question1, 
         model => model.Question1Type, 
         model => model.Question1Required 
        }; 
} 
@foreach(property in properties) { 
    <div class="editor-label"> 
     @Html.LabelFor(property) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(property) 
     @Html.ValidationMessageFor(property) 
    </div> 
} 
関連する問題