web-dev-qa-db-ja.com

ASP.NETページにHTMLを動的に追加する

誰かがHTMLコンテンツをASP.NETページに動的に追加するための「正しい」方法を教えてください。

私は次の宣言的な方法を知っています。

//Declaration
<%= MyMethodCall() %>


//And in the code behind.
protected String MyMethodCall()
{
    return "Test Value";
}

より良いまたはベストプラクティスの方法はありますか?

編集:特定のフォルダーにある画像に応じて、ギャラリーギャラリーを動的に構築しています。

16

何をしたいかによって異なります。

コントロール/テキストの場合、通常、LiteralControlを使用し、Textプロパティを追加するHTMLとして設定します。このコントロールは、ページ上の表示したい場所に追加できます。

LiteralControlリファレンスは here です

oK.

 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);
28
Dan

Aspx:

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

コードビハインド:

DIV1.InnerHtml = "some text";
9
HQtunes.epizy

それを行うにはいくつかの方法がありますが、実際に使用する方法はシナリオと好みによって異なります。

  • Webユーザーコントロール:動的に追加でき、Visual Studioの完全なエディターサポートを取得できます。
  • XMLリテラル(VB.NETのみ):コードにHTMLをすばやくまとめる非常に便利な方法。
  • テンプレート:プレーンHTMLドキュメントをソリューションに追加し、リソースとして含めます。その後、エディターのサポートが得られ、HTMLソースでコードが乱雑になることはありません。
6
Jakob Gade

別のオプション

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


//.aspx.cs
protected Literal myText;
myText.Text = "Hello, World!";
0
Michael