2017-07-13 14 views
0

何らかの理由でasp.netのC#コードの背後に何らかの理由で、バックカラープロパティを設定するIDでテーブルを呼び出すことができません。私が試したと、何もここでテーブルバックカラープロパティにアクセスできない

を動いていないようにみえている私のasp.netテーブルタグ:

ここ
<table id="ptbl" runat="server" cellpadding="2" width="640px" border="1"> 

iが背後にあるC#コードで何をどうするかに似たものですが、それは、IDを認識しません。

ptbl.Attributes.Add("style", "background-color:red")"); 

アイデア/提案はありますか?

更新:ここにコードがあります。その中にレイアウトテンプレートがあるので、何とかテーブルIDを見ることができませんが、それを取り出して見ればそれは見えます。私に何ができる。データを取得するためにリストビューが必要です

<asp:ListView ID="ListView1" runat="server" Style="color: white; font-weight: bold"> 
     <LayoutTemplate> 
      <table id="ptbl" runat="server" cellpadding="2" width="640px" border="1" style="color: black; font-weight: bold"> 
       <tr runat="server"> 
        <th runat="server">Ps</th> 
        <th runat="server">P</th> 
        <th runat="server">T</th> 
       </tr> 
       <tr runat="server" id="itemPlaceholder" /> 
      </table> 
      <asp:DataPager runat="server" ID="ContactsDataPager" PageSize="90"> 
       <Fields> 
        <asp:NextPreviousPagerField ShowFirstPageButton="true" ShowLastPageButton="true" 
         FirstPageText="|&lt;&lt; " LastPageText=" &gt;&gt;|" 
         NextPageText=" &gt; " PreviousPageText=" &lt; " /> 
       </Fields> 
      </asp:DataPager> 
     </LayoutTemplate> 
     <ItemTemplate> 
      <tr runat="server"> 
       <td> 
        <asp:Label ID="Label1" runat="server"><%# Eval("Ps") %></asp:Label></td> 
       <td> 
        <asp:Label ID="Label2" runat="server"><%# Eval("P") %></asp:Label></td> 
       <td> 
        <asp:Label ID="Label3" runat="server"><%# Eval("T") %></asp:Label></td> 
      </tr> 
     </ItemTemplate> 
    </asp:ListView> 

もう一度レイアウトテンプレートが原因です。どのように私は、レイアウトテンプレートでリストビューとテーブルを使用することができます。私はこれが少し変わったと知っていますが、どんな助けもありがたいです。

+0

分離コードでPTB1認識できない:それはと呼ばれてきたとデータセット内のデータが存在した後、あなたは、このようなPTBLテーブルを参照することができますか? –

+0

@AkashKC - 正しいptbl(L not a 1)がコードの後ろに認識されていません – user3240928

+0

私のコードビハインドで認識されています。属性を追加する際にコンパイラエラーが発生しました。これは 'ptbl.Attributes.Add(" style "、" background-color:red ");' –

答えて

0

ListView1でDataBind()が呼び出されるまで、ptblテーブルにアクセスすることはできません。

protected void Page_Load(object sender, EventArgs e) 
    { 
     var tbl = new DataTable(); 
     tbl.Columns.Add("Ps", typeof(Int32)); 
     tbl.Columns.Add("P", typeof(string)); 
     tbl.Columns.Add("T", typeof(string)); 

     var r = tbl.NewRow(); 
     r[0] = 99; 
     r[1] = "Hey"; 
     r[2] = "USA"; 
     tbl.Rows.Add(r); 
     ListView1.DataSource = tbl; 
     ListView1.DataBind(); 

     var ptbl = (HtmlTable)ListView1.FindControl("ptbl"); 
     ptbl.Style.Add("background-color", "red"); 
    } 
関連する問題