我有一个基于条件显示jQuery对话框的功能。如果条件为false,则只需通过刷新重新加载重定向到另一个视图。它对jQuery对话框和加载部分视图很好。
但是,当条件失败时,我是RedirectToAction(“索引”),它应该是新加载的。但在jQuery对话框中再次加载。这意味着Ajax回叫成功回电话。
我的问题是如何避免jquery成功回叫,完全跳过。
这是密码。
$.ajax({
url: 'SaveAddress',
type: 'Post',
cache: false,
data: $("#frmAddress").serialize(),
success: function (data) {
$("#dialogPopSuggestions").dialog({
autoOpen: false,
height: 600,
width: 500,
modal: true,
title: "Suggesion Addresses",
//dialogClass: 'warning-dialog',
open: function (event, ui) {
//Load the action which will return
// the partial view
$(this).html(data);
event.preventDefault();
event.stopPropagation();
}
});
$("#dialogPopSuggestions").dialog("open");
},
error: function (xhr, ajaxOptions, thrownError) {
alert("error occured");
}
[HttpPost]
public ActionResult SaveAddress(FormCollection col)
{
....
....
if (addresssuggestionList.Count == 0) //no suggestion
{
memberAddressDetails = memberAddress.AddAddress(memberId, memberAddressDetails);
}
else
{
addresssuggestionList.Add(memberAddressDetails);
ViewBag.IsPrimaryCompany = primaryCompany;
ViewBag.IsPrimaryAddress = mainAddress;
return PartialView("_PopDivSuggestionAddress", addresssuggestionList); //Jquery dialog loads perfect
}
return RedirectToAction("Index");//here suppose fresh load index, not jQuery dialog.
}
发布于 2015-06-03 04:41:58
function openPopup(data)
{
$("#dialogPopSuggestions").dialog({
autoOpen: false,
height: 600,
width: 500,
modal: true,
title: "Suggesion Addresses",
//dialogClass: 'warning-dialog',
open: function (event, ui) {
//Load the action which will return
// the partial view
$(this).html(data);
event.preventDefault();
event.stopPropagation();
}
});
$("#dialogPopSuggestions").dialog("open");
}
$.ajax({
url: '/Cntrllr/SaveAddress',
type: 'Post',
cache: false,
data: $("#frmAddress").serialize(),
success: function (data) {
if(data ==null){
location.href='/Cntrllr/Index';
}
else{
openPopup(data);
}
},
error: function (xhr, ajaxOptions, thrownError) {
alert("error occured");
location.href='/Cntrllr/Index';
}
你的控制器
[HttpPost]
public ActionResult SaveAddress(FormCollection col)
{ ....
....
if (addresssuggestionList.Count == 0) //no suggestion
{
memberAddressDetails = memberAddress.AddAddress(memberId, memberAddressDetails);
return null;
}
else
{
addresssuggestionList.Add(memberAddressDetails);
ViewBag.IsPrimaryCompany = primaryCompany;
ViewBag.IsPrimaryAddress = mainAddress;
return PartialView("_PopDivSuggestionAddress", addresssuggestionList); //Jquery dialog loads perfect
}
}
https://stackoverflow.com/questions/30604573
复制相似问题