2017-10-26 16 views
-2

特定のクラス名のdivにhtmlを追加するにはどうすればよいですか?特定のクラスのdivへの追加

フロントエンド:

<div class="school-team-popup"></div> 

バックエンド:

StringBuilder _html = new StringBuilder(); 

_html.AppendFormat("<li>Hi there</li>"); 

私は学校-チームポップアップdivの内側に_html追加したいと思います。これをバックエンドからどうやって行うことができますか?

+0

これはなんですか? ASP.NET Webフォーム? MVC? MVCコア?ナンシー? – mason

+0

はい.NET Webフォーム – cpcdev

+0

次に、手動でHTMLを構築してフォームに追加しようとしていますか?なぜそれをマークアップで宣言し、コントロールのVisibleプロパティを設定してページに表示するかどうかを制御しませんか? – mason

答えて

1

私は、Webフォームのやり方を説明します。

ページで選択的に表示/非表示にする静的なマークアップがある場合は、通常はコントロールのVisibleプロパティを設定します。

<%-- This is in your ASPX markup (.aspx) --%> 
<asp:Panel runat="server" id="HelloWorldPanel"> 
    <p>Hello, world!</p> 
</asp:Panel> 

//This is in your code behind (.aspx.cs) 
//hide the panel 
HelloWorldPanel.Visible = false; 
//show the panel 
HelloWorldPanel.Visible = true; 

あなたには、いくつかの他のソースからの動的なデータを取得し、ページ上に表示しようとしている場合は、このデータを表示して、マークアップにデータをバインドするために、あなたのページにマークアップを宣言します。 many controls you can bind data toがあります。

データをバインドできるコントロールの1つの例はリピーターです。リピータは、ページ上でレンダリングされるマークアップを厳密に制御したい場合に適しています。それらをList<T>のようないくつかの列挙可能なオブジェクトにバインドし、その後、列挙可能なオブジェクトの各要素に対していくつかのマークアップを繰り返します。

//This is in your project somewhere 
namespace MyNamespace 
{ 
    public class Product 
    { 
     public int Id { get; set; } 

     public int Name { get; set; } 
    } 
} 

<%-- This is in your ASPX markup (.aspx) --%> 
<ul> 
    <asp:Repeater runat="server" id="ProductRepeater" ItemType="MyNamespace.Product"> 
    <ItemTemplate> 
     <li><%#: Item.Id %> - <%#: Item.Name %></li> 
    </ItemTemplate> 
    </asp:Repeater> 
</ul>  

//this is in your code behind (.aspx.cs) 
protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!IsPostback) 
    { 
     List<Product> products = MyDataLayer.GetProducts(); 
     ProductRepeater.DataSource = products; 
     ProductRepeater.DataBind(); 
    } 
} 
関連する問題