我正在尝试使用JQuery在页面上插入用户控件
我的网页看起来像这样
<asp:Content ID="Body" ContentPlaceHolderID="body" runat="server">
<div id="Container">
</div>
<script type="text/javascript" language="javascript">
function LoadUserControl(tabName) {
$.ajax({
type: "POST",
url: ("TestHK.aspx?Show=" + tabName),
success: function (html) {
document.getElementById('Container').innerHTML = html;
},
error: function (msg) {
alert('error' + msg);
}
});
}
</asp:Content>
关于我背后的代码
protected void Page_Load(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Request.QueryString["Show"]))
{
GetControlHtml("~/userControls/TreeViewAreas.ascx");
}
}
public void GetControlHtml(string controlLocation)
{
var page = new Page();
var userControl = (TreeViewAreas)page.LoadControl(controlLocation);
userControl.ButtonIsVisible = true;
userControl.HousekeeperId = 7190;
userControl.AreasCovered = new HousekeeperBusiness().GetAreas(7190);
page.Controls.Add(userControl);
using (var textWriter = new StringWriter())
{
HttpContext.Current.Server.Execute(page, textWriter, false);
Response.Write(textWriter.ToString());
Response.End();
}
}
但我总是得到
执行处理程序'System.Web.UI.Page'的子请求时出错。
我做错了什么?
由于
答案 0 :(得分:1)
我相信你不会使用简单的AJAX机制添加UserControl。
这是使用UpdatePanel的一个很好的例子,因为你将添加新的控件,页面将显示它们。
注意我不认为UpdatePanel是一个不错的选择,但我相信它符合您的要求。
答案 1 :(得分:1)