2012-01-01 12 views
2

ASP.NET MVCを使用してLOBビジネスアプリケーションを作成しています。このような何かにそれを減らすためにヘルパーを書くことが可能でなければならないAsp.net MVC Razorビューの繰り返しを減らす

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

@EditorForField(model => model.Name) 

これは、ビューを簡単になり、私の意見では、私は、このパターンは多くのことを繰り返し見つけますフォームベースのレイアウトをテーブルベースのレイアウトに簡単に変更できます(必要な場合)

このようなヘルパーメソッドを作成する方法はありますか?

ありがとうございます!

答えて

2

私はこのコードによって、この作品を作ることができた:あなたのビューで

public static class HelperExtensions 
{ 
    public static MvcHtmlString EditorForField<TModel, TValue>(
     this HtmlHelper<TModel> html, 
     Expression<Func<TModel, TValue>> expression) 
    { 
     const string template = @"<div class=""editor-label"">{0}</div><div  class=""editor-field"">{1}{2}</div>"; 

     string markup = string.Format(template, 
      html.LabelFor(expression), 
      html.EditorFor(expression), 
      html.ValidationMessageFor(expression)); 

     return new MvcHtmlString(markup); 
    } 
} 

@Html.EditorForField(model => model.Name) 
関連する問題