我有一个“高级搜索”视图。过滤器配置是一个 ajax 部分视图,搜索结果列表是另一个。在过滤器配置部分视图中,我有一个“搜索”按钮和一个“保存您的搜索过滤器”提交按钮。如果过滤器已保存在数据库中,我想显示“保存成功”的警报,否则根本没有警报,因为任何错误都会显示在专用区域中。
这是我到目前为止所拥有的:
高级搜索.cshtml
@model MyApp.ViewModels.MyViewModel
@{
ViewBag.Title = "Advanced search";
}
<div id="divUpdateable">
@Html.Partial("_Filters", Model)
</div>
<div id="divList">
@Html.Partial("_SearchResults", Model.ResultsList)
</div>
_Filters.cshtml
@model MyApp.ViewModels.MyViewModel
<script type="text/javascript">
function ExecuteSearch() {
getForm(window.location.pathname + '/ListResults?
'&City=' + $("#txtCity").val() +
'&pCountry_ID=' + $("#ddlCountry").val() +
'&pPriceMin=' + $("#txtPriceMin").val() +
'&pPriceMax=' + $("#txtPriceMax").val() +
, 'divList');
}
</script>
@using (Ajax.BeginForm("AddOrUpdateFilter", null, new AjaxOptions
{
UpdateTargetId = "divUpdateable",
InsertionMode = InsertionMode.Replace,
OnSuccess = "ExecuteSearch",
}, new { id = "idformCreate" }))
{
@Html.ValidationSummary(false, "Some errors occured, please correct and retry.")
<p>@Html.ValidationMessage("_FORM")</p>
<div class="validation-summary-errors">
<span></span>
<ul>
</ul>
</div>
... controls...
<input id="SearchButton" type="button" value="Search" onclick="ExecuteSearch();" />
<input id="SaveButton" type="submit" value="Save your search filter" />
}
我想要一个函数来调用“OnSuccess”而不是“ExecuteSearch”函数,如下所示:
function OnSuccessDoThis() {
alert("Your filter was successfully saved");
ExecuteSearch();
};
但是在这种形式中,即使“验证”区域中显示错误,也会显示警报。如何表示显示警报的条件?