C# jquery模式弹出窗口asp.net mvc中显示的错误页面
我用它来加载一个弹出窗口:C# jquery模式弹出窗口asp.net mvc中显示的错误页面,c#,jquery,asp.net-mvc-3,popup,C#,Jquery,Asp.net Mvc 3,Popup,我用它来加载一个弹出窗口: $(document).ready(function () { $(".openDialog").live("click", function (e) { e.preventDefault(); $("<div></div>") .addClass("dialog") .attr("id", $(this).attr(
$(document).ready(function () {
$(".openDialog").live("click", function (e) {
e.preventDefault();
$("<div></div>")
.addClass("dialog")
.attr("id", $(this).attr("data-dialog-id"))
.appendTo("body")
.dialog({
title: $(this).attr("data-dialog-title"),
close: function () { $(this).remove(); },
width: 400,
modal: true
})
.load(this.href);
});
$(文档).ready(函数(){
$(“.openDialog”).live(“单击”,函数(e){
e、 预防默认值();
$("")
.addClass(“对话框”)
.attr(“id”,$(此).attr(“数据对话框id”))
.附件(“正文”)
.对话({
标题:$(this.attr(“数据对话框标题”),
关闭:函数(){$(this).remove();},
宽度:400,
莫代尔:对
})
.load(this.href);
});
问题是,当我点击弹出窗口中打开的任何链接,出现任何错误时,整个错误页面都会加载到弹出窗口中。
我希望用户被重定向到未经授权或任何其他错误页面,而不是加载到模式弹出错误页面
这适用于任何不会在弹出窗口中打开的链接
仅供参考,
我已启用自定义错误模式
<customErrors mode="On" defaultRedirect="~/Errors/General/">
<error statusCode="404" redirect="~/Errors/Http404/" />
</customErrors>
Call.load()首先加载内容并检测错误,然后调用对话框。例如:
var dialog = $('<div></div>');
dialog.load('url', function (response, status, xhr) {
if (status == "error") {
alert("Something went wrong opening the dialog.");
} else {
dialog.dialog();
}
});
var对话框=$('');
加载('url',函数(响应、状态、xhr){
如果(状态=“错误”){
警报(“打开对话框时出错。”);
}否则{
dialog.dialog();
}
});
回答很好-简短而甜美。这也让我们更好地体验用户体验。否则,它会弹出、咯咯地响、内容…或弹出、咯咯地响、oops、错误、关闭弹出、重定向。不幸的是,这对我没有帮助。我仍然会在对话框中看到错误和未经授权的页面。似乎用户未经授权进行控制器操作和asp.net路由到未经授权的页面,整个页面加载到弹出窗口中。并且ajax没有发现任何错误状态。请确保您没有在版面中呈现需要授权的内容。发件人:@SteveAndrews Yup,我正在版面中呈现需要授权的内容。问题不在于此。我只想要未经授权的内容当出现错误时,即用户未经授权或处理您的请求时出错,zed和其他页面不会加载到jquery模式弹出窗口中。@BIKALBHATTARAI,位于控制器端…关于您将执行何种安全性实现..关于如何在视图中返回该错误消息。。