在asp.net中,通过visible="false"
无法在客户端呈现隐藏字段。
在mvc 3中是否也可以不在客户端渲染隐藏字段?
提前致谢!
答案 0 :(得分:2)
你可以提出一个条件:
@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);
}
}