2015-07-06 4 views
0

Я использую ASP.NET и C#:Как предназначаться HTML элементы в файле .aspx из кода за

У меня есть данные, которые я для отображения в HTML-элементов на моей странице. На данный момент я могу отображать данные, создавая новый div и параграфы в коде позади, но не могу настроить таргетинг на мой существующий HTML-код. Ниже, где я создал мой DIV и абзацы в моем коде позади

 //Populating a DataTable from database. 
     DataTable dt = this.GetData(); 

     //Building an HTML string. 
     StringBuilder html = new StringBuilder(); 

     //Div start. 
     html.Append("<div>");     

     //Building the Data rows. 
     foreach (DataRow row in dt.Rows) 
      { 
       html.Append("<div>"); 
       foreach (DataColumn column in dt.Columns) 
       { 
        html.Append("<p>"); 
        html.Append(row[column.ColumnName]); 
        html.Append("</p>"); 
       } 
       html.Append("</div>"); 
      } 

      //Div end. 
      html.Append("</div>"); 

Как я могу настроить таргетинг на существующий HTML элементы для моих данных, которые будут отображаться.

<div class="deal-info">    
     <h3>Name</h3> 
     <p>Description</p> 
     <p>Location</p> 
     <p>Price</p> 
    </div> 

Любая помощь очень ценится :)

+1

Вы не должны вручную создать HTML со строками в вашем коде позади. Вместо этого используйте элемент управления, который связывается с вашим источником данных. Репитер будет хорошей идеей. – mason

+0

Это выглядит очень php-like, не делайте этого, используйте ретранслятор. Как только вы его повесите, ваше кодирование станет более эффективным. –

+0

Привет, большое спасибо за предложения. Я использовал ретранслятор. Я хочу, чтобы каждая строка из моей таблицы базы данных отображалась в отдельных div на моей веб-странице. В настоящий момент он выводит все мои строки данных в div, где я разместил свой ретранслятор. Любые предложения по внесению изменений в это? – user1371055

ответ

0

В принципе вы можете получить доступ к каждому объекту HTML в вашем коде, если вы установите его в качестве RUNAT сервера. Я бы рекомендовал это или нет, вот как это работает.

<div class="deal-info">    
    <h3>Name</h3> 
    <p>Description</p> 
    <p>Location</p> 
    <p>Price</p> 
</div> 
<asp:PlaceHolder ID = 'yourplaceholder' runat = 'server' /> 

System.Text.StringBuilder html = new System.Text.StringBuilder(); 
//Any code... 
//html.Append("..") 
yourplaceholder.Controls.Add(new System.Web.UI.LiteralControl(html.ToString())); 

или

<div class="deal-info" id = "yourplaceholder" runat = "server">    
    <h3>Name</h3> 
    <p>Description</p> 
    <p>Location</p> 
    <p>Price</p> 
</div> 

System.Text.StringBuilder html = new System.Text.StringBuilder(); 
//Any code... 
//html.Append("..")