在Razor中不同的条件使用
本文关键字:条件 Razor | 更新日期: 2023-09-27 18:10:30
想象以下视图:
@if(Model.Condition)
{
@using (Ajax.BeginForm(...))
{
//MyForm
}
}
else
{
@using (Html.BeginForm(...))
{
//MyForm
}
}
是否有可能根据一个条件将这两种用法结合起来,而不需要写两次//MyForm
?
您可以,通过将其分配给变量和using()
:
@{
IDisposable form;
if(Model.Condition)
{
form = Ajax.BeginForm(...);
}
else
{
form = Html.BeginForm(...);
}
}
using (form)
{
// Form here
}
或者您可以直接使用EditorTemplate来防止重复编写表单内容:
@if(Model.Condition)
{
@using (Ajax.BeginForm(...))
{
@Html.EditorForModel()
}
}
else
{
@using (Html.BeginForm(...))
{
@Html.EditorForModel()
}
}
看起来你可以用这个
@using (Model.Condition ? Ajax.BeginForm() : Html.BeginForm())
{
//MyForm
}