JQuery中的ASP.NET MVC错误页面内容填充了DIV

时间:2010-02-17 18:45:56

标签: jquery asp.net-mvc

我有一个分页控件,可以通过一些JQuery Ajax刷新DIV,但是如果发生错误,说明页面崩溃是因为它无法连接到数据库或其他原因。我的默认错误页面显示在DIV中而不是结果..

所以我的问题是如何做到这一点,以便不会发生,当错误发生时,它将用户重新路由到错误页面而不是仅仅使用错误页面的内容刷新DIV? / p>

更新:我只是在做一个简单的

$("#PagerContainer").load($(this).attr("href"));

在链接上单击事件处理程序。

我需要做的是完全重定向到错误页面而不是将内容放入DIV

错误是从Application_Error

中的Global.Aspx中捕获的

另一次更新: 发生这种情况实际上并不是一个ajax帖子,它是一个普通的形式提交来自一个模态...在这种情况下我该怎么做。

2 个答案:

答案 0 :(得分:1)

而不是您发布的代码执行类似

的操作
var theUrl = $(this).attr("href");

$.ajax({
  type: "GET", 
  url: theUrl,
  success: function(data) { $("#PagerContainer").html(data); /*This will insert the HTML returned from the server */  },
  error: function(data) { alert('I encountered an error. I will NOT insert any HTML'); } 
}); 

正如您可能猜到的,如果从服务器收到肯定响应(HTTP状态200),将调用名为“success”的函数。如果收到错误代码,将执行名为“error”的函数。

答案 1 :(得分:0)

查看JQuery.ajax()的文档,该文档支持根据请求的状态代码执行不同的操作。

但是,您可能需要在控制器操作中检查ajax调用 - 在名为{{1}的Request对象上有一个属性(实际上是一个返回布尔值的方法...)或者某种东西,它可以帮助你返回不同的东西,这取决于请求是否是用ajax创建的。