- 在我的 MVC 3 应用程序中,我有一个链接按钮,单击此按钮后,会在 jquery 对话框中加载部分视图。
看法
<a class="dialogLink" href="/Home/OpenDialog">OPen Dialog</a>
局部视图
<div id="dlgReport"><input type="button" id="closeDialog" value="Close"/></div>
控制器
public ActionResult OpenDialog(ViewModel model){
//setting value
return PartialView(model);}
jQuery代码
$(function () {
$.ajaxSetup({ cache: false, async: false });
$('.dialogLink').live('click', function () {
var dialogId = 'uniqueName-' + Math.floor(Math.random() * 1000)
var dialogDiv = "<div id='" + dialogId + "'></div>";
var data = $('form').serialize();
$.post(this.href, data)
.success(function (result) {
$(dialogDiv).html(result).dialog({
autoOpen: true,modal: true,title: 'Test',
open: function () {
$('#closeDialog').bind('click', function (e) {
//debugger;
$(".ui-dialog-content").dialog().dialog("close");
});}});})
return false;});});
一切正常,当我单击链接按钮(打开对话框)时,一个发布请求将转到控制器,填充数据并将数据传递给部分视图和部分视图加载自定义“关闭对话框”按钮。
第一次单击“关闭对话框”按钮时,关闭对话框,但是当我再次加载对话框时,“关闭对话框”将不起作用。
我用调试器检查,第二次,
('#closeDialog').bind('click', function (e) {
没有调用,不知道这里有什么问题。请建议!谢谢!
注意 - 如果我使用代码“ $(this).dialog('close'); ”而不是“ $(".ui-dialog-content").dialog().dialog("close"); ”,那么从第一次点击“关闭对话框”按钮开始,我收到未知错误。