-2

我正在将 MVC3 与 Razor 一起使用。我有一个想要使用 AJAX 加载的动作。我正在使用 jQuery UIblock 插件http://jquery.malsup.com/block/#向用户显示一些等待图像。

action对应的View如下图:

@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....." });
} 

现在我使用链接重定向到 Action

location.href = '@Url.Content("~/Home/Search/")';

加载搜索视图时,我看不到任何显示正在加载图像的 Div。

同样的事情在其他页面上工作,唯一的区别是在其他页面上 Image 来自POSTBACK

此外,所有 Ajax POST操作都在工作,但不是GET操作。

这里的搜索页面有什么问题?

谢谢。

4

1 回答 1

0

现在我使用链接重定向到 Action

location.href = '@Url.Content("~/Home/Search/")';

这里的关键字是我正在重定向。我不是在发送 AJAX 请求。当您重定向时,浏览器只是停止在当前页面上运行任何脚本并重定向到目标位置。当您重定向时,您订阅的OnBeginandOnComplete方法将永远不会触发,这就是您看不到任何 blockUI 的原因。

于 2012-07-04T07:24:53.807 回答