想象一下以下观点:
//MyForm
是否可以根据条件合并这两个用法,而无需编写 function toggleDIvDisplay(e) {
if (!e)
e = '';
$('button.search').toggle(e != '');
$('#divAppName').toggle(e == 1);
$('#divSSN').toggle(e == 2);
$('#divRemref').toggle(e == 3);
}
$(document).ready(function () {
$('button.search').click(function (evt) {
evt.preventDefault();
var container = $('#customer-results');
container.hide();
$('table tbody', container).empty();
var searchMethod = $('#@Html.IdFor(model => model.SearchMethod)').val();
switch (searchMethod) {
case '1':
getByFirstNameAndLastName();
break;
case '2':
getBySSN();
break;
case '3':
getByRemRef();
break;
default:
return false;
}
});
toggleDIvDisplay();
});
两次?
答案 0 :(得分:2)
您可以将其分配给变量并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()
}
}
答案 1 :(得分:2)
好像你可以使用这个
@using (Model.Condition ? Ajax.BeginForm() : Html.BeginForm())
{
//MyForm
}