[asp.net-mvc]为什么 Html 对话框开放数据从高速缓存中

发布时间: 2016/10/6 4:57:51
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有加载数据成功的 ajax 调用的函数中,如下所示的对话框。

 $.ajax({

                url: '@Url.Action("GetPolicyPremiumAllocation", "Policy")',
                data: { policyID: selPolicyId },

                type: 'POST',
                success: function (data) {

                    if (data.length > 0) {
                        alert(data);
                        document.getElementById("modal_dialog").innerHTML = "";                        

                       // $("#modal_dialog").empty();
                        $("#modal_dialog").load(data,function( ) { 
                            $("#close-button-id").on("click", CloseDialog);
                        });
                        $("#modal_dialog").dialog("open");                                             
                         }
                }                   

            });

第一次 dilaog 的 div 加载正确的数据。但第二次,它只是显示旧的数据。 我试图清除缓存中我的控制器的 index 操作。无法弄清楚如何解决这个问题。请帮助。

解决方法 1:

设置为 false 的 ajax 缓存选项︰

 $.ajax({

            url: '@Url.Action("GetPolicyPremiumAllocation", "Policy")',
            data: { policyID: selPolicyId },
            cache:false,

            type: 'POST',
            success: function (data) {

                if (data.length > 0) {
                    alert(data);
                    document.getElementById("modal_dialog").innerHTML = "";                        

                   // $("#modal_dialog").empty();
                    $("#modal_dialog").load(data,function( ) { 
                        $("#close-button-id").on("click", CloseDialog);
                    });
                    $("#modal_dialog").dialog("open");                                             
                     }
            }                   

        });

或装饰你的行动与[OutputCache(NoStore = true, Duration = 0)]

赞助商