我正在尝试从后面的代码访问HTML表,并设置其visible =“false”属性(取决于用户选择的值)。该表具有id值和runat = server属性。
如何从C#2008中的代码中调用该表并设置其显示?
答案 0 :(得分:6)
确保将表设置为在服务器上运行。
实施例
<table id="tblMyTable" runat="server">
....
</table>
在服务器端,您可以使用变量tblMyTable
隐藏可见性并不简单。它没有属性,因为它是一个Html控件而不是服务器控件。
我会将表包装在ASP.NET控件(如面板)中,并隐藏面板。
答案 1 :(得分:3)
我会将表格包装在<asp:Panel
控件中,然后改变它的可见属性。
答案 2 :(得分:1)
从代码隐藏设置可见性很简单,因为设置Visible属性:
table_control.Visible = false;
如果你这样做是为了回应一些客户端活动,那么你需要一些javascript:
document.getElementById("<%= table_control,ClientID %>").style.display = "none";
或jQuery:
$("#<%= table_control,ClientID %>").hide();
根据页面的需要,从onclick或onchange事件中调用此方法。
答案 3 :(得分:0)
你应该使用&lt; asp:Table&gt;控制是否要从背后的代码访问表格,例如
<asp:Table ID="Table1" CssClass="data" runat="server" CellSpacing="0">
<asp:TableHeaderRow>
<asp:TableHeaderCell>SKU</asp:TableHeaderCell>
<asp:TableHeaderCell>Description</asp:TableHeaderCell>
<asp:TableHeaderCell>Quantity</asp:TableHeaderCell>
<asp:TableHeaderCell>Amount</asp:TableHeaderCell>
</asp:TableHeaderRow>
</asp:Table>
将数据绑定到表中,例如。像这样:
var row = new TableRow();
row.AddCell(stock.Sku);
row.AddCell(stock.Description);
row.AddCellTextbox("txtQty", cart.Values[key]);
row.AddCell(stock.Price.ToString());
Table1.Rows.Add(row);
注意:表格控件不为代码中添加的项目提供视图状态,因为您需要使用GridView或类似控件。
答案 4 :(得分:0)
为了设置Table的可见性,您需要设置Runat =&#34; server&#34;属性到你的表
设计视图: ....
背后的代码(C#) tbl_test.Visible = FALSE;
试试这个有效......;)