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

Ajax现在已经是相当流行的技术了,Ajax不仅是想服务器端发送消息,更重要的是无刷新的重载页面。

如果页面单纯的使用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();

 

 

 

posted @ 2010-03-13 12:25  chingho  阅读(7047)  评论(9编辑  收藏  举报