亲爱的朋友 我有用户控件,我点击按钮后加载用户控件是什么?可能重复:
Create a usercontrol instance programmatically in ASP.NET
答案 0 :(得分:2)
首先创建面板或任何服务器控件
<asp:Panel ID="plnExam" runat="server">
</asp:Panel>
然后在cs页面
之后Control uc = this.LoadControl("~/UserControl/CollegesInExam.ascx");
plnExam.Controls.Add(uc);
答案 1 :(得分:0)
试试this。 (您正在寻找的谷歌短语是“动态加载用户控件”)
关键部分是
Control FeaturedProductUserControl = LoadControl("YourControl.ascx")
答案 2 :(得分:0)
这是为了防止你想通过Ajax加载UserControls。也许这很有用:
public static string GetControlHtml(string controlLocation)
{
Page page = new Page();
UserControl userControl = (UserControl)page.LoadControl(controlLocation);
//Disabled ViewState- If required
//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 CleanHtml(textWriter.ToString());
}
controlLocation
是来自UserControl的路径(例如“〜/ UserControls / NewUser.ascx”)。
此方法呈现UserControl并返回其HTML,以便通过Ajax加载到contaner(div)中。