Dynamically add HTML to ASP.NET page

淺唱寂寞╮ 提交于 2019-11-29 03:23:33
Dan

Depends what you want to do.

For controls/text I normally use a LiteralControl and set the Text property as the HTML I want to add, then this control can be added anywhere on the page that you want it to appear

LiteralControl reference is here

ok seeing as you want it for Galleriffic, I guess it would pseudo-appear as such...

 LiteralControl imageGallery = new LiteralControl();
    string divStart = @"<div id='thumbs'><ul class='thumbs noscript'>";
    imageGallery.Text += divStart;
    foreach ([image in images])
    {
      string imageHTML = @"<li><a class='thumb' name='optionalCustomIdentifier' ref='path/to/slide' title='your image title'>
                           <img src='path/to/thumbnail' alt='your image title again for graceful degradation' /></a>
                           <div class='caption'>[caption]<div></li>";

      imageGallery.Text += imageHTML;
    }
    string divEnd = @"</ul></div>";
    imageGallery.Text += divEnd;

    this.[divOnPage].Controls.Add(imageGallery);

Aspx :

<div id="DIV1" runat="server"></div>

Code behind :

DIV1.InnerHtml = "some text";

There are several ways to do that, which to use really depends on your scenario and preference.

  • Web User Controls: Can be added dynamically and you get the full editor support of Visual Studio.
  • XML literals (VB.NET only): Very convenient way to quickly put together HTML in code.
  • Templates: Add a plain HTML document to your solution and include it as a resource. Then you'll get editor support and you won't clutter your code with HTML source.

Another option

//.aspx
<asp:Literal ID="myText" runat="server"></asp:Literal>


//.aspx.cs
protected Literal myText;
myText.Text = "Hello, World!";
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!