DataList.HeaderTemplate Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví šablonu pro nadpis oddílu DataList ovládacího prvku.
public:
virtual property System::Web::UI::ITemplate ^ HeaderTemplate { System::Web::UI::ITemplate ^ get(); void set(System::Web::UI::ITemplate ^ value); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
[System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.DataListItem))]
public virtual System.Web.UI.ITemplate HeaderTemplate { get; set; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
[<System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.DataListItem))>]
member this.HeaderTemplate : System.Web.UI.ITemplate with get, set
Public Overridable Property HeaderTemplate As ITemplate
Hodnota vlastnosti
A ITemplate , který obsahuje šablonu pro oddíl nadpisu DataList ovládacího prvku. Výchozí hodnota je null
.
- Atributy
Příklady
Následující příklad kódu ukazuje, jak použít HeaderTemplate vlastnost k řízení obsahu záhlaví oddílu DataList ovládacího prvku.
Poznámka
Následující ukázka kódu používá model s jedním souborem kódu a nemusí správně fungovat, pokud je zkopírován přímo do souboru s kódem na pozadí. Tento vzorový kód musí být zkopírován do prázdného textového souboru s příponou .aspx. Další informace o modelu kódu webových formulářů najdete v tématu ASP.NET model kódu stránky webových formulářů.
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script runat="server">
ICollection CreateDataSource()
{
// Create sample data for the DataList control.
DataTable dt = new DataTable();
DataRow dr;
// Define the columns of the table.
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(String)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
dt.Columns.Add(new DataColumn("ImageValue", typeof(String)));
// Populate the table with sample values.
for (int i = 0; i < 9; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Description for item " + i.ToString();
dr[2] = 1.23 * (i + 1);
dr[3] = "Image" + i.ToString() + ".jpg";
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
// Load sample data only once, when the page is first loaded.
if (!IsPostBack)
{
ItemsList.DataSource = CreateDataSource();
ItemsList.DataBind();
}
}
void Button_Click(Object sender, EventArgs e)
{
// Set the repeat direction based on the selected value of the
// DirectionList DropDownList control.
ItemsList.RepeatDirection =
(RepeatDirection)DirectionList.SelectedIndex;
// Set the repeat layout based on the selected value of the
// LayoutList DropDownList control.
ItemsList.RepeatLayout = (RepeatLayout)LayoutList.SelectedIndex;
// Set the number of columns to display based on the selected
// value of the ColumnsList DropDownList control.
ItemsList.RepeatColumns = ColumnsList.SelectedIndex;
// Show or hide the gridlines based on the value of the
// ShowBorderCheckBox property. Note that gridlines are displayed
// only if the RepeatLayout property is set to Table.
if ((ShowBorderCheckBox.Checked)
&& (ItemsList.RepeatLayout == RepeatLayout.Table))
{
ItemsList.BorderWidth = Unit.Pixel(1);
ItemsList.GridLines = GridLines.Both;
}
else
{
ItemsList.BorderWidth = Unit.Pixel(0);
ItemsList.GridLines = GridLines.None;
}
}
</script>
<head runat="server">
<title>DataList Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataList Example</h3>
<asp:DataList id="ItemsList"
BorderColor="black"
CellPadding="5"
CellSpacing="5"
RepeatDirection="Vertical"
RepeatLayout="Table"
RepeatColumns="0"
BorderWidth="0"
runat="server">
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<AlternatingItemStyle BackColor="Gainsboro">
</AlternatingItemStyle>
<HeaderTemplate>
List of items
</HeaderTemplate>
<ItemTemplate>
Description: <br />
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>
<br />
Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>
<br />
<asp:Image id="ProductImage"
AlternatingText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
runat="server"/>
</ItemTemplate>
</asp:DataList>
<hr />
<table cellpadding="5">
<tr>
<th>
Repeat direction:
</th>
<th>
Repeat layout:
</th>
<th>
Repeat columns:
</th>
<th>
<asp:CheckBox id="ShowBorderCheckBox"
Text="Show border"
Checked="False"
runat="server" />
</th>
</tr>
<tr>
<td>
<asp:DropDownList id="DirectionList"
runat="server">
<asp:ListItem>Horizontal</asp:ListItem>
<asp:ListItem Selected="True">Vertical</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:DropDownList id="LayoutList"
runat="server">
<asp:ListItem Selected="True">Table</asp:ListItem>
<asp:ListItem>Flow</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:DropDownList id="ColumnsList"
runat="server">
<asp:ListItem Selected="True">0</asp:ListItem>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
</asp:DropDownList>
</td>
<td>
</td>
</tr>
</table>
<asp:LinkButton id="RefreshButton"
Text="Refresh DataList"
OnClick="Button_Click"
runat="server"/>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script runat="server">
Function CreateDataSource() As ICollection
' Create sample data for the DataList control.
Dim dt As DataTable = New DataTable()
dim dr As DataRow
' Define the columns of the table.
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
dt.Columns.Add(New DataColumn("ImageValue", GetType(String)))
' Populate the table with sample values.
Dim i As Integer
For i = 0 To 8
dr = dt.NewRow()
dr(0) = i
dr(1) = "Description for item " & i.ToString()
dr(2) = 1.23 * (i + 1)
dr(3) = "Image" & i.ToString() & ".jpg"
dt.Rows.Add(dr)
Next i
Dim dv As DataView = New DataView(dt)
Return dv
End Function
Sub Page_Load(sender As Object, e As EventArgs)
' Load sample data only once, when the page is first loaded.
If Not IsPostBack Then
ItemsList.DataSource = CreateDataSource()
ItemsList.DataBind()
End If
End Sub
Sub Button_Click(sender As Object, e As EventArgs)
' Set the repeat direction based on the selected value of the
' DirectionList DropDownList control.
ItemsList.RepeatDirection = _
CType(DirectionList.SelectedIndex, RepeatDirection)
' Set the repeat layout based on the selected value of the
' LayoutList DropDownList control.
ItemsList.RepeatLayout = CType(LayoutList.SelectedIndex, RepeatLayout)
' Set the number of columns to display based on the selected
' value of the ColumnsList DropDownList control.
ItemsList.RepeatColumns = ColumnsList.SelectedIndex
' Show or hide the gridlines based on the value of the
' ShowBorderCheckBox. Note that gridlines are displayed
' only if the RepeatLayout property is set to Table.
If ShowBorderCheckBox.Checked _
And ItemsList.RepeatLayout = RepeatLayout.Table Then
ItemsList.BorderWidth = Unit.Pixel(1)
ItemsList.GridLines = GridLines.Both
Else
ItemsList.BorderWidth = Unit.Pixel(0)
ItemsList.GridLines = GridLines.None
End If
End Sub
</script>
<head runat="server">
<title>DataList Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataList Example</h3>
<asp:DataList id="ItemsList"
BorderColor="black"
CellPadding="5"
CellSpacing="5"
RepeatDirection="Vertical"
RepeatLayout="Table"
RepeatColumns="0"
BorderWidth="0"
runat="server">
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<AlternatingItemStyle BackColor="Gainsboro">
</AlternatingItemStyle>
<HeaderTemplate>
List of items
</HeaderTemplate>
<ItemTemplate>
Description: <br />
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>
<br />
Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>
<br />
<asp:Image id="ProductImage"
AlternatingText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
runat="server"/>
</ItemTemplate>
</asp:DataList>
<hr />
<table cellpadding="5">
<tr>
<th>
Repeat direction:
</th>
<th>
Repeat layout:
</th>
<th>
Repeat columns:
</th>
<th>
<asp:CheckBox id="ShowBorderCheckBox"
Text="Show border"
Checked="False"
runat="server" />
</th>
</tr>
<tr>
<td>
<asp:DropDownList id="DirectionList"
runat="server">
<asp:ListItem>Horizontal</asp:ListItem>
<asp:ListItem Selected="True">Vertical</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:DropDownList id="LayoutList"
runat="server">
<asp:ListItem Selected="True">Table</asp:ListItem>
<asp:ListItem>Flow</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:DropDownList id="ColumnsList"
runat="server">
<asp:ListItem Selected="True">0</asp:ListItem>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
</asp:DropDownList>
</td>
<td>
</td>
</tr>
</table>
<asp:LinkButton id="RefreshButton"
Text="Refresh DataList"
OnClick="Button_Click"
runat="server"/>
</form>
</body>
</html>
Poznámky
HeaderTemplate Pomocí vlastnosti můžete řídit obsah oddílu nadpisu. Vzhled oddílu záhlaví je řízen HeaderStyle vlastností .
Poznámka
Aby ShowHeader byla tato vlastnost viditelná, musí být vlastnost nastavena na true
hodnotu .
Pokud chcete určit šablonu pro oddíl nadpisu, umístěte <HeaderTemplate>
značky mezi počáteční a uzavírací značky DataList ovládacího prvku. Potom můžete zobrazit seznam obsahu šablony mezi otevírací a pravou <HeaderTemplate>
značkou.
Upozornění
Tento ovládací prvek lze použít k zobrazení vstupu uživatele, který může obsahovat škodlivý klientský skript. Před zobrazením v aplikaci zkontrolujte všechny informace odesílané z klienta spustitelný skript, příkazy SQL nebo jiný kód. Ověřovací ovládací prvky můžete použít k ověření vstupu uživatele před zobrazením vstupního textu v ovládacím prvku. ASP.NET poskytuje funkci ověřování vstupních požadavků, která blokuje skript a html v uživatelském vstupu. Další informace najdete v tématech Zabezpečení standardních ovládacích prvků, Postupy: Ochrana před zneužitím skriptů ve webové aplikaci použitím kódování HTML na řetězce a Ověřování vstupu uživatele na ASP.NET webových stránkách.