16

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

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

//Declaration
<%= MyMethodCall() %>


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

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

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

4

4 に答える 4

29

何をしたいかによります。

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

LiteralControl リファレンスは こちら

Galleriffic に必要なように見えますが、そのように擬似的に表示されると思います...

 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);
于 2011-04-01T02:56:45.037 に答える
12

Aspx:

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

コードビハインド:

DIV1.InnerHtml = "some text";
于 2015-09-07T12:03:30.577 に答える
6

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

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

別のオプション

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


//.aspx.cs
protected Literal myText;
myText.Text = "Hello, World!";
于 2019-05-08T22:17:35.627 に答える