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

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