Asp.net 动态加载用户自定义控件,并转换成HTML代码

时间:2022-09-25 19:31:54

如果页面单纯的使用js来创建,要写大量的代码,而且不直观。 
在asp.net中,其实我们可以创建用户自定义控件,通过Ajax请求返回用户自定义控件HTML代码。

复制代码代码如下:


public static string RangerUsControl(string controlName) 

StringBuilder build = new StringBuilder(); 
HtmlTextWriter htmlWriter = new HtmlTextWriter(new StringWriter(build)); 
UserControl uc = new UserControl(); 
Control ctrl=uc.LoadControl(controlName+".ascx");//加载用户定义控件 TextBox txtBox1 = ctrl.FindControl("TextBox1") as TextBox;//获得id为“TextBox1”的控件 
txtBox1.Text = "测试"; //给控件初始化 string result; 
try 

ctrl.RenderControl(htmlWriter); 

catch { } 
finally 

htmlWriter.Flush(); 
result=build.ToString(); 

return result;//返回控件的HTML代码 

htmlWriter.Flush();