我想为以下情况编写一个Html帮助器:我有一个类Foo,我想生成以下html:
<tr>
<td>@Html.TextBoxFor(m => m.Foo.Name)</td>
<td>@Html.TextBoxFor(m => m.Foo.Value)</td>
<td>@Html.EnumDropDownListFor(m => m.Foo.Unit)</td>
</tr>
通过做:
@Html.MyCustomHelperFor(m => m.Foo)
我有标准类型的帮助器,但我无法弄清楚进一步指定表达式的语法。我需要模型绑定来处理所有生成的字段。类似的东西:
public static MvcHtmlString MyCustomHelperFor<TModel, TValue> (
this HtmlHelper<TModel> helper, Expression<Func<TModel, TValue>> expression)
{
return MvcHtmlString.Create(
"<tr>" +
"<td>" + helper.HiddenFor(expression.Name).ToString() + "</td>" +
"<td>" + helper.TextBoxFor(expression.Value).ToString() + "</td>" +
"<td>" + helper.EnumDropDownListFor(expression.Unit).ToString() + "</td>" +
"</tr>");
}