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