在 asp.net 中,隐藏字段无法通过visible="false"
. 在 mvc 3 中是否也可以不在客户端呈现隐藏字段?
提前致谢!
你可以提出一个条件:
@if (IsVisible)
{
@Html.HiddenFor(x => x.Foo)
}
或者编写一个自定义 HTML 帮助器,它允许您将条件直接传递给帮助器:
@Html.MyHiddenFor(x => x.Foo, IsVisible)
可以这样实现:
public static class HtmlExtensions
{
public static IHtmlString MyHiddenFor<TModel, TProperty>(
this HtmlHelper<TModel> htmlHelper,
Expression<Func<TModel, TProperty>> expression,
bool isVisible
)
{
if (!isVisible)
{
return MvcHtmlString.Empty;
}
return htmlHelper.HiddenFor(expression);
}
}