0

如何将 ascx 控件替换为 html 中的字符串标记?

我想创建一个动态 html 模板。

这是我的html

<div id="Detail_Container">

   <div>Gallery 1</div>

    <load_gallery>G6</load_gallery>

   <div>Gallery 2</div>

   <load_gallery>G7</load_gallery>

</div>

我对此进行了尝试:控件正在渲染,但我的图像未加载到控件中。

            StringBuilder sb = new StringBuilder();
            HtmlTextWriter textWriter = new HtmlTextWriter(new StringWriter(sb));
            UserControl objControl = (UserControl)LoadControl(inControlPath);
            objControl.GalleryId = "G5";

            if (objControl != null)
                objControl.RenderControl(textWriter);

            string controlstr = tw.ToString();
4

1 回答 1

1

您不能只将用户控件作为字符串添加到 html,因为它是在服务器上呈现和处理的。但是您可以在您的页面上放置一个占位符,然后将控件添加到此 Palaceholder。

以下是如何在运行时加载和添加用户控件的示例代码:

  //here I am loading usercontrol from ascx file...
  WfGenericFormUserControl genControl = (WfGenericFormUserControl)LoadControl("~/UserControls/WfGenericFormUserControl.ascx");

  //FormPlaceHolder is placeholder inside target page
  FormPlaceHolder.Controls.Add(genControl);

GenControl 控件现在将显示在页面上。

于 2012-10-04T19:17:05.413 回答