Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Asp.net mvc 3 asp.net mvc3中的jquery ui对话框不';我不能第二次开门_Asp.net Mvc 3_Jquery Ui Dialog - Fatal编程技术网

Asp.net mvc 3 asp.net mvc3中的jquery ui对话框不';我不能第二次开门

Asp.net mvc 3 asp.net mvc3中的jquery ui对话框不';我不能第二次开门,asp.net-mvc-3,jquery-ui-dialog,Asp.net Mvc 3,Jquery Ui Dialog,当我点击表单中的NewTrade按钮时,它会打开jQueryUI对话框。但是,我在gridview中有link按钮,当我单击link按钮时,它会打开jquery ui对话框,在单击new trade按钮之前,它会打开jquery ui对话框。但是,单击新交易按钮后,如果我在gridview中单击链接按钮,它将调用“ViewTradeDialog(id)”函数,对话框不会打开,它会显示错误消息“$vwdia.html(数据)。dialog不是函数”。我的代码如下: @using (Html

当我点击表单中的NewTrade按钮时,它会打开jQueryUI对话框。但是,我在gridview中有link按钮,当我单击link按钮时,它会打开jquery ui对话框,在单击new trade按钮之前,它会打开jquery ui对话框。但是,单击新交易按钮后,如果我在gridview中单击链接按钮,它将调用“ViewTradeDialog(id)”函数,对话框不会打开,它会显示错误消息“$vwdia.html(数据)。dialog不是函数”。我的代码如下:

    @using (Html.BeginForm("NewTrade", "Trade", FormMethod.Post, new { id = "searchForm" }))
{

    <div id="searchbtn">
        <input id="btn_newtrade" type="submit" value="New Trade" />
    </div>


}


jquery code

  <script type="text/javascript">
 $(function () {






     var $loading = $('<img src="../../loading.gif" alt="loading">');



     var $dialog = $('<div></div>').append($loading);


     $('#searchForm').submit(function (e) {

         var url = this.action;

         $.ajax({
            autoOpen: false,
             url: url,
             success: function (data) {
                 $dialog.html(data).dialog({
                     zIndex:1,
                     width: 1400,
                     height: 600,
                     resizable: false,
                     title: 'New Trade Details',
                     modal: true,
                     buttons: {
                         "close": function () {
                             $dialog.dialog('close');
                         },

                         "Add Trade": function () {
                             $dialog.dialog('close');
                             $.ajax({
                                 type: 'POST',
                                 url: url

                             });
                         }
                     }
                 });
             }
         });
         return false;

     });



 });



 function ViewTradeDialog(id) {



     alert(id);

     var $vwdia = $('<div></div>');

     var url = '/Trade/ViewTrades?tradeid=' + id;


     $.ajax({
         url: url,
         success: function (data) {
             $vwdia.html(data).dialog({

                 width: 600,
                 height: 600,
                 resizable: false,
                 title: 'View Trade Details',
                 modal: false,
                 buttons: {
                     "close": function () {
                         $vwdia.dialog('close');
                     }
                 }
             });
         }
     });



     return false;


 }
@使用(Html.BeginForm(“NewTrade”,“Trade”,FormMethod.Post,new{id=“searchForm”}))
{
}
jquery代码
$(函数(){
变量$loading=$('');
var$dialog=$('').append($loading);
$('#searchForm')。提交(函数(e){
var url=this.action;
$.ajax({
自动打开:错误,
url:url,
成功:功能(数据){
$dialog.html(数据).dialog({
zIndex:1,
宽度:1400,
身高:600,
可调整大小:false,
标题:"新交易详情",,
莫代尔:是的,
按钮:{
“关闭”:函数(){
$dialog.dialog('close');
},
“添加交易”:函数(){
$dialog.dialog('close');
$.ajax({
键入:“POST”,
url:url
});
}
}
});
}
});
返回false;
});
});
函数ViewTradeDialog(id){
警报(id);
变量$vwdia=$('');
var url='/Trade/ViewTrades?tradeid='+id;
$.ajax({
url:url,
成功:功能(数据){
$vwdia.html(数据).dialog({
宽度:600,
身高:600,
可调整大小:false,
标题:“查看交易详情”,
莫代尔:错,
按钮:{
“关闭”:函数(){
$vwdia.dialog(“关闭”);
}
}
});
}
});
返回false;
}

每次单击“新建交易”时,您可能会覆盖对话框插件,因为它应用于同一元素:

$dialog.html(data).dialog(...

通过替换对话框的html并重新应用插件,它可能会被破坏。您是否在JS控制台中看到任何其他错误?

我没有时间向您修复它,但我想说的是,我更喜欢将对话框分离出来,并在页面上修复它们,而不是像您那样动态创建对话框。我会让我的对话div在页面上活动,只需在document.ready将它们连接起来一次,然后在需要时打开和关闭它们。这样做可能会解决你的问题。