出于某种原因,在asp.net的C#代码背后,我无法通过它的ID调用该表来设置它的背面颜色属性。我试过了,似乎什么都没有用
这是我的asp.net表标签:
<table id="ptbl" runat="server" cellpadding="2" width="640px" border="1">
这里有类似于我在后面的C#代码中做什么,但它不识别id
ptbl.Attributes.Add("style", "background-color:red")");
有任何想法/建议吗?
更新:这是代码。它中有一个布局模板,所以不知何故它无法看到表格ID,但如果我从中获取它,那么它就会看到它。我能做什么。我需要listview来获取数据
<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="|<< " LastPageText=" >>|"
NextPageText=" > " PreviousPageText=" < " />
</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 :(得分:0)
在ListView1上调用DataBind()之前,您无法访问ptbl表。在调用和之后,数据集中有数据,那么您可以像这样引用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");
}