HtmlSelect.ServerChange 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
發生於 HtmlSelect 控制項中所選取的項目在發佈至伺服器期間時變更。
public:
event EventHandler ^ ServerChange;
public event EventHandler ServerChange;
member this.ServerChange : EventHandler
Public Custom Event ServerChange As EventHandler
事件類型
範例
下列程式碼範例示範如何針對 控制項的事件 HtmlSelect ,以宣告方式指定和撰寫 ServerChange 事件處理常式的程式碼。 事件處理常式會判斷選取的專案是否彼此相容。
<%@ 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">
<script runat="server">
void Button_Click (Object sender, EventArgs e)
{
Label1.Text = "You selected:";
for (int i=0; i<=Select1.Items.Count - 1; i++)
{
if (Select1.Items[i].Selected)
Label1.Text += "<br /> -" + Select1.Items[i].Text;
}
}
void Server_Change (Object sender, EventArgs e)
{
int Count = 0;
for (int i=0; i<=Select1.Items.Count - 1; i++)
{
if (Select1.Items[i].Selected)
Count++;
}
if ((Count > 1) && (Select1.Items[0].Selected))
Label2.Text = "Hey! You can't select 'All' with another selection!!";
else
Label2.Text = "";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title> HtmlSelect Example </title>
</head>
<body>
<form id="form1" runat="server">
<h3> HtmlSelect Example </h3>
Select items from the list: <br /><br />
<select id="Select1"
multiple="true"
onserverchange="Server_Change"
runat="server">
<option value="All"> All </option>
<option value="1" selected="selected"> Item 1 </option>
<option value="2"> Item 2 </option>
<option value="3"> Item 3 </option>
<option value="4"> Item 4 </option>
<option value="5"> Item 5 </option>
<option value="6"> Item 6 </option>
</select>
<br /><br />
<button id="Button1"
onserverclick="Button_Click"
runat="server">
Submit
</button>
<br /><br />
<asp:Label id="Label1"
runat="server"/>
<br />
<asp:Label id="Label2"
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">
<script runat="server">
Sub Button_Click (sender As Object, e As EventArgs)
Dim i As Integer
Label1.Text = "You selected:"
For i = 0 to Select1.Items.Count - 1
If Select1.Items(i).Selected Then
Label1.Text = Label1.Text & "<br /> -" & Select1.Items(i).Text
End If
Next
End Sub
Sub Server_Change (sender As Object, e As EventArgs)
Dim i As Integer
Dim Count As Integer = 0
For i = 0 to Select1.Items.Count - 1
If Select1.Items(i).Selected Then
Count = Count + 1
End If
Next
If Count > 1 And Select1.Items(0).Selected Then
Label2.Text = "Hey! You can't select 'All' with another selection!!"
Else
Label2.Text = ""
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title> HtmlSelect Example </title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h3> HtmlSelect Example </h3>
Select items from the list: <br /><br />
<select id="Select1"
multiple="true"
onserverchange="Server_Change"
runat="server">
<option value="All"> All </option>
<option value="1" selected="selected"> Item 1 </option>
<option value="2"> Item 2 </option>
<option value="3"> Item 3 </option>
<option value="4"> Item 4 </option>
<option value="5"> Item 5 </option>
<option value="6"> Item 6 </option>
</select>
<br /><br />
<button id="Button1"
onserverclick="Button_Click"
runat="server">
Submit
</button>
<br /><br />
<asp:Label id="Label1"
runat="server"/>
<br />
<asp:Label id="Label2" runat="server"/>
</div>
</form>
</body>
</html>
下列程式碼範例示範如何針對 ServerChange 控制項的 HtmlSelect 事件,以程式設計方式指定和撰寫事件處理常式的程式碼。 事件處理常式會判斷選取的專案是否彼此相容。
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Button_Click (Object sender, EventArgs e)
{
// Display the selected items.
Label1.Text = "You selected:";
for (int i=0; i<=Select1.Items.Count - 1; i++)
{
if (Select1.Items[i].Selected)
Label1.Text += "<br /> -" + Select1.Items[i].Text;
}
}
void Server_Change(Object sender, EventArgs e)
{
// The ServerChange event is commonly used for data validation.
// This method will display a warning if the "All" option is
// selected in combination with another item in the list.
int Count = 0;
// Determine the number of selected items in the list.
for (int i=0; i<=Select1.Items.Count - 1; i++)
{
if (Select1.Items[i].Selected)
Count++;
}
// Display an error message if more than one item is selected with
// the "All" item selected.
if ((Count > 1) && (Select1.Items[0].Selected))
Label2.Text = "Hey! You can't select 'All' with another selection!!";
else
Label2.Text = "";
}
void Page_Load(Object sender, EventArgs e)
{
// Create an EventHandler delegate for the method you want to
// handle the event, and then add it to the list of methods
// called when the event is raised.
Select1.ServerChange += new System.EventHandler(this.Server_Change);
Button1.ServerClick += new System.EventHandler(this.Button_Click);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title> HtmlSelect Server Change Example </title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h3> HtmlSelect Server Change Example </h3>
Select items from the list: <br /><br />
<select id="Select1"
multiple="true"
runat="server">
<option value="All"> All </option>
<option value="1" selected="selected"> Item 1 </option>
<option value="2"> Item 2 </option>
<option value="3"> Item 3 </option>
<option value="4"> Item 4 </option>
<option value="5"> Item 5 </option>
<option value="6"> Item 6 </option>
</select>
<br /><br />
<button id="Button1"
runat="server">
Submit
</button>
<br /><br />
<asp:Label id="Label1"
runat="server"/>
<br />
<asp:Label id="Label2"
runat="server"/>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Button_Click (sender As Object, e As EventArgs)
' Display the selected items.
Label1.Text = "You selected:"
Dim i As Integer
For i=0 To Select1.Items.Count - 1
If Select1.Items(i).Selected Then
Label1.Text &= "<br /> -" & Select1.Items(i).Text
End If
Next
End Sub
Sub Server_Change(sender As Object, e As EventArgs)
' The ServerChange event is commonly used for data validation.
' This method will display a warning if the "All" option is
' selected in combination with another item in the list.
Dim Count As Integer = 0
Dim i As Integer
' Determine the number of selected items in the list.
For i=0 To Select1.Items.Count - 1
If Select1.Items(i).Selected Then
Count = Count + 1
End If
Next
' Display an error message if more than one item is selected with
' the "All" item selected.
If ((Count > 1) And (Select1.Items(0).Selected)) Then
Label2.Text = "Hey! You can't select 'All' with another selection!!"
Else
Label2.Text = ""
End If
End Sub
Sub Page_Load(sender As Object, e As EventArgs)
' Create an EventHandler delegate for the method you want to
' handle the event, and then add it to the list of methods
' called when the event is raised.
AddHandler Select1.ServerChange, AddressOf Server_Change
AddHandler Button1.ServerClick, AddressOf Button_Click
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title> HtmlSelect ServerChange Example </title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h3> HtmlSelect ServerChange Example </h3>
Select items from the list: <br /><br />
<select id="Select1"
multiple="true"
runat="server">
<option value="All"> All </option>
<option value="1" selected="selected"> Item 1 </option>
<option value="2"> Item 2 </option>
<option value="3"> Item 3 </option>
<option value="4"> Item 4 </option>
<option value="5"> Item 5 </option>
<option value="6"> Item 6 </option>
</select>
<br /><br />
<button id="Button1"
runat="server">
Submit
</button>
<br /><br />
<asp:Label id="Label1"
runat="server"/>
<br />
<asp:Label id="Label2"
runat="server"/>
</div>
</form>
</body>
</html>
備註
ServerChange當控制項中的 HtmlSelect 選取專案在貼文到伺服器之間變更時,就會引發 事件。
注意
控制項必須啟用檢視狀態, ServerChange 事件才能正常運作。
如需如何處理事件的詳細資訊,請參閱 處理和引發事件。