Đây là có thể đạt được bên trong một tập tin helper với @functions
cú pháp nhưng nếu bạn muốn có thể đọc như dao cạo phong cách bạn đang đề cập đến bạn cũng sẽ cần phải gọi một helper thường xuyên để thực hiện phù hợp với HTML và kết thúc.
Lưu ý rằng các hàm trong tệp trợ giúp là tĩnh, vì vậy bạn vẫn cần phải chuyển vào phiên bản HtmlHelper từ trang nếu bạn định sử dụng các phương thức của nó.
ví dụ: Views \ MyView.cshtml:
@MyHelper.DoSomething(Html, m=>m.Property1)
@MyHelper.DoSomething(Html, m=>m.Property2)
@MyHelper.DoSomething(Html, m=>m.Property3)
App_Code \ MyHelper.cshtml:
@using System.Web.Mvc;
@using System.Web.Mvc.Html;
@using System.Linq.Expressions;
@functions
{
public static HelperResult DoSomething<TModel, TItem>(HtmlHelper<TModel> html, Expression<Func<TModel, TItem>> expr)
{
return TheThingToDo(html.LabelFor(expr), html.EditorFor(expr), html.ValidationMessageFor(expr));
}
}
@helper TheThingToDo(MvcHtmlString label, MvcHtmlString textbox, MvcHtmlString validationMessage)
{
<p>
@label
<br />
@textbox
@validationMessage
</p>
}
...