我想为html beginform添加一个条件。 如果条件为假,我不希望生成表单标记。
与此代码类似:
public static MvcHtmlString If(this MvcHtmlString value, bool evaluation)
{
return evaluation ? value : MvcHtmlString.Empty;
}
答案 0 :(得分:0)
我最近不得不为一次性功能做类似的事情。这是概念代码的证明,但它看起来像:
public class NoForm : IDisposable
{
// Whatever this suppose to look like
// but actually does nothing
public void Dispose() { }
}
在视图中:
@{
IDisposable form;
if (Model canShowForm)
{
form = Html.BeginForm(...);
}
else
{
form = new NoForm()
}
}
@using (form)
{
@* we might be in a form *@
}
显然这可以重构为HtmlHelper扩展方法,我还没有完成。