Я пытаюсь получить доступ к HTML-таблице из кода позади и установить его видимое = "ложное" свойство (в зависимости от того, какое значение пользователь выбрал). Таблица имеет значение идентификатора и атрибут runat=server.
Как я могу назвать таблицу из кода позади в 2008 C# и установить его дисплей?
Я бы обернул таблицу в элемент управления
Убедитесь, что ваша таблица настроена для работы на сервере.
Пример
<table id="tblMyTable" runat="server">
....
</table>
На стороне сервера вы можете получить к нему доступ, используя переменную tblMyTable
Скрыть видимость непросто. Для него нет свойства, поскольку это элемент управления Html, а не серверный элемент управления.
Я бы заключил таблицу в элемент управления ASP.NET, например панель, и скрывал бы эту панель.
Установить видимость из внутреннего кода так же просто, как установить свойство Visible:
table_control.Visible = false;
Если вы делаете это в ответ на некоторую активность на стороне клиента, тогда вам понадобится некоторый javascript:
document.getElementById("<%= table_control,ClientID %>").style.display = "none";
или jQuery:
$("#<%= table_control,ClientID %>").hide();
Вызывайте это из события onclick или onchange, если это необходимо для вашей страницы.
Вам следует использовать элемент управления
<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 или аналогичный элемент управления.