我正在使用带Razor的MVC3。我有一个想要使用AJAX加载的Action。我正在使用jQuery UIblock插件http://jquery.malsup.com/block/#向用户显示一些等待图像。
与行动相对应的视图如下所示:
@using (Ajax.BeginForm("Search", "Home", new AjaxOptions() { HttpMethod = "GET", OnBegin = "BlockUI", OnComplete = "UnBlockUI", UpdateTargetId = "page" }))
{
...................
}
Javascript代码如下所示:
<script type="text/javascript">
function BlockUI() {
$.blockUI({ message: "<img src='@Url.Content("~/Content/images/loading.gif")' />" });
}
function UnBlockUI() {
$.unblockUI({ message: "Done....." });
}
现在我使用链接
重定向到Actionlocation.href = '@Url.Content("~/Home/Search/")';
加载搜索视图时,我看不到任何Div显示正在加载图片。
同样的事情是在其他页面上工作,唯一的区别是在其他页面上,Image正在进行 POSTBACK 。
此外,所有Ajax POST 操作都在运行,但不是 GET 。
搜索页面有什么问题?
感谢。
答案 0 :(得分:0)
现在我使用链接
重定向到Actionlocation.href ='@ Url.Content(“〜/ Home / Search /”)';
此处的关键字是我正在重定向。它不是我正在发送一个AJAX请求。重定向时,浏览器只会停止在当前页面上运行任何脚本并重定向到目标位置。您订阅的OnBegin
和OnComplete
方法在重定向时永远不会触发,这就是您没有看到任何blockUI的原因。