Welcome

首页 / 脚本样式 / Ajax / Asp.net动态加载用户自定义控件,并转换成HTML代码

Asp.net动态加载用户自定义控件,并转换成HTML代码2011-01-11 博客园 chinghoAjax现在已经是相当流行的技术了,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();