宣告表格並且讓您以程式設計的方式操作它。
<asp:Tableid="Table1" BackImageUrl="url" CellSpacing="cellspacing" CellPadding="cellpadding" GridLines="None|Horizontal|Vertical|Both" HorizontalAlign="Center|Justify|Left|NotSet|Right" runat="server"> <asp:TableRow> <asp:TableCell> Cell text </asp:TableCell> </asp:TableRow></asp:Table>
備註
Table 類別可以讓您建置 HTML 表格並且指定它的特性。表格可以在設計階段使用靜態內容建置,但是 Table 控制項通常是使用動態內容以程式設計的方式建置。
**注意 **以程式設計方式對表格的列或儲存格加入或修改,將無法保存 (Persist) 回傳至伺服器。表格的列和儲存格都是它們自己的控制項,而不是 Table 控制項的屬性。對列和儲存格的變更,必須在每次回傳至伺服器後重新建構。如果預期會有相當多修改,請使用 DataList 或 DataGrid 控制項來取代 Table 控制項。
每一 Table 控制項是由儲存在控制項之 Rows 集合中的若干列 (由 TableRow 類別的執行個體代表) 所構成。每一列是由儲存在每一 TableRow 之 Cells 集合中的儲存格 (由 TableCell 類別的執行個體代表) 所構成。
您可以設定 BackImageUrl 屬性,在 Table 控制項的背景中顯示影像。根據預設,表格中項目的水平對齊並未設定。如果您希望指定水平對齊,請設定 HorizontalAlignment 屬性。個別儲存格之間的空格是由 CellSpacing 屬性所控制。您可以設定 CellPadding 屬性,來指定儲存格內容與儲存格框線之間要空多少格。若要顯示儲存格框線,請設定 GridLines 屬性。您可以顯示水平線、垂直線,或是兩者都顯示。
**警告 **文字顯示於 Table 控制項前,並不是 HTML 編碼。這樣便可以在文字中的 HTML 標記內嵌入指令碼。如果控制項的值來自使用者輸入,請務必驗證值來協助防止安全性的弱點。
如需 Table Web 伺服器控制項之屬性和事件的詳細資訊,請參閱 Table 類別文件。
範例
下列範例是示範如何在網頁中以動態方式建立 Table 控制項。
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
' Generate rows and cells.
Dim numrows As Integer = 3
Dim numcells As Integer = 2
Dim j As Integer
For j = 0 To numrows - 1
Dim r As New TableRow()
Dim i As Integer
For i = 0 To numcells - 1
Dim c As New TableCell()
c.Controls.Add(New LiteralControl("row " & j.ToString() & _
", cell " & i.ToString()))
r.Cells.Add(c)
Next i
Table1.Rows.Add(r)
Next j
End Sub 'Page_Load
</script>
</head>
<body>
<form runat="server">
<h3>Table Example</h3>
<asp:Table id="Table1"
Font-Name="Verdana"
Font-Size="8pt"
CellPadding="5"
CellSpacing="0"
BorderWidth="1"
Gridlines="Both"
runat="server"/>
</form>
</body>
</html>
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
// Generate rows and cells.
int numrows = 3;
int numcells = 2;
for (int j=0; j<numrows; j++)
{
TableRow r = new TableRow();
for (int i=0; i<numcells; i++)
{
TableCell c = new TableCell();
c.Controls.Add(new LiteralControl("row " + j.ToString() +
", cell " + i.ToString()));
r.Cells.Add(c);
}
Table1.Rows.Add(r);
}
}
</script>
</head>
<body>
<form runat=server>
<h3>Table Example</h3>
<asp:Table id="Table1"
GridLines="Both"
HorizontalAlign="Center"
Font-Name="Verdana"
Font-Size="8pt"
CellPadding="15"
CellSpacing="0"
runat="server"/>
</form>
</body>
</html>