HtmlSelect.Name Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define o nome de identificador associado ao controle HtmlSelect.
public:
property System::String ^ Name { System::String ^ get(); void set(System::String ^ value); };
public string Name { get; set; }
member this.Name : string with get, set
Public Property Name As String
Valor da propriedade
O nome do identificador exclusivo associado ao HtmlSelect controle.
Exemplos
O exemplo de código a seguir demonstra como usar a Name propriedade do HtmlSelect controle para selecionar um item específico na Items lista.
<%@ 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" >
void Page_Load(Object sender, EventArgs e)
{
// Bind a data source to the Repeater control.
Repeater1.DataSource = CreateRepeaterSource();
Repeater1.DataBind();
}
void Item_Bound(Object sender, RepeaterItemEventArgs e)
{
// Each item in the Repeater control contains an HtmlSelect
// control. This method binds a data source to the HtmlSelect
// control as each item in the Repeater control is being
// bound to data.
// The ItemDataBound event is raised when data is bound to an
// item in the Repeater control. Items can include the Header,
// Footer, and so on. Use the following logic only if the item
// being bound is an Item or AlternatingItem.
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
// Bind a data source to the HtmlSelect control.
HtmlSelect selectControl =
(HtmlSelect)e.Item.FindControl("Select1");
selectControl.DataSource = CreateHtmlSelectSource();
selectControl.DataBind();
// The runtime automatically generates a unique identifier
// for each control embedded in a list control, such as the
// Repeater. The Name property of the HtmlSelect control
// contains this unique identifier and is commonly used
// to identify a specific control.
// Select the last item in the HtmlSelect control if the Name
// property contains the value "Repeater1:_ctl3:Select1".
if(selectControl.Name == "Repeater1:_ctl3:Select1")
{
selectControl.SelectedIndex = selectControl.Items.Count - 1;
}
}
}
DataView CreateHtmlSelectSource()
{
// Create a DataTable that contains sample data for the
// HtmlSelect controls.
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("Text", typeof(String)));
dt.Columns.Add(new DataColumn("Value", typeof(String)));
// Populate the DataTable with sample values.
for (int i = 0; i < 5; i++)
{
dr = dt.NewRow();
dr[0] = "Item " + i.ToString();
dr[1] = i.ToString();
dt.Rows.Add(dr);
}
// Create a DataView from the DataTable.
DataView dv = new DataView(dt);
return dv;
}
DataView CreateRepeaterSource()
{
// Create a DataTable that contains sample data for the
// Repeater control.
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("Category", typeof(String)));
// Populate the DataTable with sample values.
for (int i = 0; i < 5; i++)
{
dr = dt.NewRow();
dr[0] = "Category " + i.ToString();
dt.Rows.Add(dr);
}
// Create a DataView from the DataTable.
DataView dv = new DataView(dt);
return dv;
}
</script>
<head runat="server">
<title> HtmlSelect Name Example </title>
</head>
<body>
<form id="form1" runat="server">
<h3> HtmlSelect Name Example </h3>
Notice that Category 3 has a different item selected by default. <br />
<asp:Repeater id="Repeater1"
OnItemDataBound="Item_Bound"
runat="server">
<ItemTemplate>
<h4><%# DataBinder.Eval(Container.DataItem, "Category") %></h4>
Select Item:
<br />
<select id="Select1"
datatextfield="Text"
datavaluefield="Value"
runat="server"/>
<br /><br />
<hr />
</ItemTemplate>
</asp:Repeater>
</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" >
Sub Page_Load(sender as Object, e As EventArgs)
' Bind a data source to the Repeater control.
Repeater1.DataSource = CreateRepeaterSource()
Repeater1.DataBind()
End Sub
Sub Item_Bound(sender As Object, e As RepeaterItemEventArgs)
' Each item in the Repeater control contains an HtmlSelect
' control. This method binds a data source to the HtmlSelect
' control as each item in the Repeater control is being
' bound to data.
' The ItemDataBound event is raised when data is bound to an
' item in the Repeater control. Items can include the Header,
' Footer, and so on. Use the following logic only if the item
' being bound is an Item or AlternatingItem.
If (e.Item.ItemType = ListItemType.Item) Or _
(e.Item.ItemType = ListItemType.AlternatingItem) Then
' Bind a data source to the HtmlSelect control.
Dim selectControl As HtmlSelect = _
CType(e.Item.FindControl("Select1"), HtmlSelect)
selectControl.DataSource = CreateHtmlSelectSource()
selectControl.DataBind()
' The runtime automatically generates a unique identifier
' for each control embedded in a list control, such as the
' Repeater. The Name property of the HtmlSelect control
' contains this unique identifier and is commonly used
' to identify a specific control.
' Select the last item in the HtmlSelect control if the Name
' property contains the value "Repeater1:_ctl3:Select1".
If selectControl.Name = "Repeater1:_ctl3:Select1" Then
selectControl.SelectedIndex = selectControl.Items.Count - 1
End If
End If
End Sub
Function CreateHtmlSelectSource() As DataView
' Create a DataTable that contains sample data for the
' HtmlSelect controls.
Dim dt As DataTable = New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn("Text", GetType(String)))
dt.Columns.Add(New DataColumn("Value", GetType(String)))
' Populate the DataTable with sample values.
Dim i As Integer
For i = 0 To 4
dr = dt.NewRow()
dr(0) = "Item " & i.ToString()
dr(1) = i.ToString()
dt.Rows.Add(dr)
Next i
' Create a DataView from the DataTable.
Dim dv As DataView = New DataView(dt)
Return dv
End Function
Function CreateRepeaterSource() As DataView
' Create a DataTable that contains sample data for the
' Repeater control.
Dim dt As DataTable = New DataTable()
Dim dr As DataRow
dt.Columns.Add(new DataColumn("Category", GetType(String)))
' Populate the DataTable with sample values.
Dim i As Integer
For i = 0 To 4
dr = dt.NewRow()
dr(0) = "Category " & i.ToString()
dt.Rows.Add(dr)
Next i
' Create a DataView from the DataTable.
Dim dv As DataView = new DataView(dt)
return dv
End Function
</script>
<head runat="server">
<title> HtmlSelect Name Example </title>
</head>
<body>
<form id="form1" runat="server">
<h3> HtmlSelect Name Example </h3>
Notice that Category 3 has a different item selected by default. <br />
<asp:Repeater id="Repeater1"
OnItemDataBound="Item_Bound"
runat="server">
<ItemTemplate>
<h4><%# DataBinder.Eval(Container.DataItem, "Category") %></h4>
Select Item:
<br />
<select id="Select1"
datatextfield="Text"
datavaluefield="Value"
runat="server"/>
<br /><br />
<hr />
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html>
Comentários
Use a Name propriedade para determinar o nome do identificador exclusivo para um HtmlSelect controle. Nessa implementação, o get
acessador retorna o valor da Control.UniqueID propriedade . No entanto, o set
acessador não atribui um valor a essa propriedade.
Observação
O set
acessador não atribui um valor a essa propriedade porque a Name propriedade deve ter o mesmo valor que a Control.UniqueID propriedade para que o HtmlSelect controle funcione corretamente.