ListControl.SelectedValue 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得清單控制項中選取項目的值,或選取清單控制項中包含指定值的項目。
public:
virtual property System::String ^ SelectedValue { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.Bindable(true)]
[System.ComponentModel.Browsable(false)]
public virtual string SelectedValue { get; set; }
[System.ComponentModel.Browsable(false)]
[System.ComponentModel.Bindable(true, System.ComponentModel.BindingDirection.TwoWay)]
[System.Web.UI.Themeable(false)]
public virtual string SelectedValue { get; set; }
[<System.ComponentModel.Bindable(true)>]
[<System.ComponentModel.Browsable(false)>]
member this.SelectedValue : string with get, set
[<System.ComponentModel.Browsable(false)>]
[<System.ComponentModel.Bindable(true, System.ComponentModel.BindingDirection.TwoWay)>]
[<System.Web.UI.Themeable(false)>]
member this.SelectedValue : string with get, set
Public Overridable Property SelectedValue As String
屬性值
清單控制項中選取項目的值。 預設為空字串 ("")。
- 屬性
例外狀況
選取的值不在可用的值和檢視狀態的清單中,或者狀態已載入 (已執行回傳)。
範例
下列範例示範如何使用 SelectedValue 屬性來選取 控件中的 ListBox 專案。 請注意,這個屬性也可以用來擷取所選專案的值。
重要
這個範例有一個可接受使用者輸入的文字方塊,這可能會造成安全性威脅。 根據預設,ASP.NET Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。 如需詳細資訊,請參閱 Script Exploits Overview (指令碼攻擊概觀)。
<%@ Page Language="C#" AutoEventWireup="True" %>
<!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" >
<head runat="server">
<title> ListControl SelectedValue Example </title>
<script runat="server">
void Button_Click(Object sender, EventArgs e)
{
// Perform this operation in a try-catch block in case the item is not found.
try
{
List.SelectedValue = ItemTextBox.Text;
MessageLabel.Text = "You selected " + List.SelectedValue + ".";
}
catch (Exception ex)
{
List.SelectedValue = null;
MessageLabel.Text = "Item not found in ListBox control.";
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> ListControl SelectedValue Example </h3>
<asp:ListBox ID="List"
runat="server">
<asp:ListItem>Item 1</asp:ListItem>
<asp:ListItem>Item 2</asp:ListItem>
<asp:ListItem>Item 3</asp:ListItem>
<asp:ListItem>Item 4</asp:ListItem>
</asp:ListBox>
<hr />
Enter the value of the item to select: <br />
<asp:TextBox ID="ItemTextBox"
MaxLength="6"
Text="Item 1"
runat="server"/>
<asp:Button ID="SelectButton"
Text="Select Item"
OnClick="Button_Click"
runat="server"/>
<br /><br />
<asp:Label ID="MessageLabel"
runat="server"/>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!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" >
<head runat="server">
<title> ListControl SelectedValue Example </title>
<script runat="server">
Sub Button_Click(sender As Object, e As EventArgs)
' Perform this operation in a try-catch block in case the item is not found.
Try
List.SelectedValue = ItemTextBox.Text
MessageLabel.Text = "You selected " & List.SelectedValue + "."
Catch ex As Exception
List.SelectedValue = Nothing
MessageLabel.Text = "Item not found in ListBox control."
End Try
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> ListControl SelectedValue Example </h3>
<asp:ListBox ID="List"
runat="server">
<asp:ListItem>Item 1</asp:ListItem>
<asp:ListItem>Item 2</asp:ListItem>
<asp:ListItem>Item 3</asp:ListItem>
<asp:ListItem>Item 4</asp:ListItem>
</asp:ListBox>
<hr />
Enter the value of the item to select: <br />
<asp:TextBox ID="ItemTextBox"
MaxLength="6"
Text="Item 1"
runat="server"/>
<asp:Button ID="SelectButton"
Text="Select Item"
OnClick="Button_Click"
runat="server"/>
<br /><br />
<asp:Label ID="MessageLabel"
runat="server"/>
</form>
</body>
</html>
備註
這個屬性會傳 Value 回所選 ListItem的屬性。 屬性 SelectedValue 通常用來判斷清單控制件中所選專案的值。 如果選取多個專案,則會傳回具有最低索引的選取專案值。 如果未選取任何專案,則會傳回空字串 (“”) 。
屬性 SelectedValue 也可用來選取清單控制件中的專案,方法是將它設定為專案的值。
這個屬性無法由佈景主題或樣式表主題設定。 如需詳細資訊,請參閱 ThemeableAttribute 和 ASP.NET 主題和外觀。
當選取的值不在可用值清單中且執行回傳時, ArgumentOutOfRangeException 會擲回例外狀況。 下列範例示範如何在回傳發生之前攔截無效的值:
Me.DropDownList1.Items.Add(New ListItem( Text="Hello", Value="1" ))
If DropDownList1.Items.FindByValue("2") IsNot Nothing Then
Response.Write("Found")
End If
this.DropDownList1.Items.Add(new ListItem{ Text="Hello", Value="1" });
if(DropDownList1.Items.FindByValue("2") != null) {
Response.Write("Found");
}