开发者

Calling an HTML table from code behind

I am trying to access an HTML ta开发者_Python百科ble from code behind, and set its visible="false" property (depending on what value the user has selected). The table has an id value and a runat=server attribute.

How can I call the table from the code behind in C# 2008 and set its display?


Make sure you have your table set up to run at server.

Example

<table id="tblMyTable" runat="server">
....
</table>

On server side you can access it by using the variable tblMyTable

To hide the visibility is not simple. There is not a property for it since it is a Html control rather than a server control.

I would wrap the table in an ASP.NET control such as a panel, and hide the panel.


I would wrap the table in an <asp:Panel control and change the visible property on that instead.


Seting the visibility from the codebehind is a simple as setting the Visible property:

table_control.Visible = false;

If you are doing this in response to some client side activity, then you need some javascript:

document.getElementById("<%= table_control,ClientID %>").style.display = "none";

or jQuery:

$("#<%= table_control,ClientID %>").hide();

Call this from an onclick or onchange event, as needed for your page.


we can hide the table control from server side use the following code in server side at which event you want to hide the table

your html code

<table id="tblMyTable" runat="server">
....
</table>

your server code in which event you want to hide table

tblMyTable.Style.Add("display", "none");


You should use an <asp:Table> control if you want to access the table from code behind eg

<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>

Bind data to the table eg. like so:

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);

Note: The table control doesnt provide viewstate for items added in code, for that you need to use a GridView or similar control.


In-order to set the visibility of the Table you need to set the Runat="server" attribute to your table

Design View: ....

Code Behind (C#) tbl_test.Visible=false;

Try this it works... ;)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜