首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MVC4:跳过ajax成功并从模型重定向到另一个视图

MVC4:跳过ajax成功并从模型重定向到另一个视图
EN

Stack Overflow用户
提问于 2015-06-02 19:08:58
回答 1查看 7.1K关注 0票数 0

我有一个基于条件显示jQuery对话框的功能。如果条件为false,则只需通过刷新重新加载重定向到另一个视图。它对jQuery对话框和加载部分视图很好。

但是,当条件失败时,我是RedirectToAction(“索引”),它应该是新加载的。但在jQuery对话框中再次加载。这意味着Ajax回叫成功回电话。

我的问题是如何避免jquery成功回叫,完全跳过。

这是密码。

代码语言:javascript
运行
复制
 $.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.
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-03 04:41:58

代码语言:javascript
运行
复制
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';
    }

你的控制器

代码语言:javascript
运行
复制
[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
    }        
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30604573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档