1
我想在aspx页面中使用jQuery对话框打开用户控件(Child.ascx)作为弹出窗口。 I wrapped Child.ascx
in Child.aspx
file。现在Main.aspx
我想打电话给**Child.aspx**
作为一个弹出..尝试打开ASPX页面中使用jQuery对话框弹出的用户控件(包装在aspx页面中)
Main.aspx:
<script type="text/javascript">
$(document).ready(function() {
$('#btnMemo').click(function() {
$.blockUI({ message: '<h1> Processing...</h1>' });
var ControlName = "Child.ascx";
$.ajax({
type: "POST",
url: "Child.aspx/Result",
data: "{controlName:'" + ControlName + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
$.unblockUI();
********* /// Code to open the popup ***********
// $('#result').dialog(response.d);
},
failure: function (msg) {
$.unblockUI();
///// $('#result').html(msg);
}
});
});
});
</script>
..................
<td>
<asp:ImageButton ID="btnMemo" runat="server" AlternateText="Memo" CausesValidation="false" ClientIDMode ="Static" />
<div id="divMemoInfo" title="Memo"></div>
</td>
Child.aspx.cs:
[WebMethod]
public static string Result(string controlName)
{
return RenderControl(controlName);
}
public static string RenderControl(string controlName)
{
Page page = new Page();
UserControl userControl = (UserControl)page.LoadControl(controlName);
userControl.EnableViewState = false;
HtmlForm form = new HtmlForm();
form.Controls.Add(userControl);
page.Controls.Add(form);
StringWriter textWriter = new StringWriter();
HttpContext.Current.Server.Execute(page, textWriter, false);
return textWriter.ToString();
}
Child.aspx
<body>
<form id="form1" runat="server">
<div id="result">
</div>
</form>
</body>
请指教。
感谢
BB