Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多次在jQuery对话框中加载局部视图_Jquery_Asp.net Mvc_Asp.net Mvc 4_Jquery Dialog - Fatal编程技术网

多次在jQuery对话框中加载局部视图

多次在jQuery对话框中加载局部视图,jquery,asp.net-mvc,asp.net-mvc-4,jquery-dialog,Jquery,Asp.net Mvc,Asp.net Mvc 4,Jquery Dialog,我正在使用jQuery对话框创建新客户。第一次打开对话框时,它调用控制器操作方法来创建新的客户模型。对话框的后续加载不会调用Action方法,这不是我想要的 我需要在关闭时正确处理对话框,或者在加载时强制重新创建对话框。不管我做什么都不行 <script type="text/javascript"> $(function () { $('#dialog').dialog({ autoOpen: false, w

我正在使用jQuery对话框创建新客户。第一次打开对话框时,它调用控制器操作方法来创建新的客户模型。对话框的后续加载不会调用Action方法,这不是我想要的

我需要在关闭时正确处理对话框,或者在加载时强制重新创建对话框。不管我做什么都不行

<script type="text/javascript">
    $(function () {
        $('#dialog').dialog({
            autoOpen: false,
            width: 400,
            resizable: false,
            title: 'New Customer',
            modal: true,
            open: function(event, ui) {
                $(this).load("@Url.Action("CreateCustomerPartial")");
            },
            buttons: {
                "Close": function () {
                    $(this).dialog("close");
                }
            }
        });

        $('#my-button').click(function () {
            $('#dialog').dialog('open');
        });
    });
</script>
<div id="dialog" title="Create Customer" style="overflow: hidden;">

修复-这是IE缓存ajax请求的问题,与jQuery对话框无关

禁用ajax缓存实现了以下目的:


$.ajaxSetup{cache:false}

这是什么意思。load@Url.ActionCreateCustomerPartial; 在服务页面中看起来如何?它确定操作方法MVC-$this.load/MyApplication/MyController/MyAction的url路径;从客户端的角度来看,代码看起来不错。尝试添加一个“完整”回调来检查服务器是否响应/如何响应-如果Ajax请求在的文档中遇到错误,请参阅显示通知。我设法找到了答案。问题在于IE缓存,而不是jQuery对话框。可以使用$.ajaxSetup{cache:false};$禁用它。ajaxSetup{cache:false}有点极端,因为它会影响代码中其他地方的任何其他ajax请求,而不仅仅是这一个。我建议使用低级的$.ajax,它允许您指定cache:false作为选项。您必须自己管理将响应插入到$this中,但这并不难。好提示。谢谢你的帮助。