ListViewCancelEventArgs 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供 ItemCanceling 事件的資料。
public ref class ListViewCancelEventArgs : System::ComponentModel::CancelEventArgs
public class ListViewCancelEventArgs : System.ComponentModel.CancelEventArgs
type ListViewCancelEventArgs = class
inherit CancelEventArgs
Public Class ListViewCancelEventArgs
Inherits CancelEventArgs
- 繼承
範例
下列範例示範如何在使用者取消 控件中的ListView插入或更新作業時,使用 ListViewCancelEventArgs 對象來顯示訊息。 對象 ListViewCancelEventArgs 會傳遞至事件的事件處理方法 ItemCanceling 。
重要
此範例包含接受使用者輸入的文本框,這是潛在的安全性威脅。 根據預設,ASP.NET Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。 如需詳細資訊,請參閱 Script Exploits Overview (指令碼攻擊概觀)。
<%@ 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 Page_Load()
{
Message.Text = String.Empty;
}
// <Snippet2>
protected void ContactsListView_ItemCanceling(object sender, ListViewCancelEventArgs e)
{
//Check the operation that raised the event
if (e.CancelMode == ListViewCancelMode.CancelingEdit)
{
// The update operation was canceled. Display the
// primary key of the item.
Message.Text = "Update for the ContactID " +
ContactsListView.DataKeys[e.ItemIndex].Value.ToString() + " canceled.";
}
else
{
Message.Text = "Insert operation canceled.";
}
}
// </Snippet2>
protected void ContactsListView_PagePropertiesChanging(object sender,
PagePropertiesChangingEventArgs e)
{
// Clears the edit index selection when paging.
ContactsListView.EditIndex = -1;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView ItemCanceling Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView ItemCanceling Example</h3>
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<br/>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
DataKeyNames="ContactID"
ConvertEmptyStringToNull="true"
InsertItemPosition="LastItem"
runat="server"
OnItemCanceling="ContactsListView_ItemCanceling"
OnPagePropertiesChanging="ContactsListView_PagePropertiesChanging" >
<LayoutTemplate>
<table cellpadding="2" width="680px" border="1" runat="server" id="tblContacts">
<tr runat="server">
<th runat="server"> </th>
<th runat="server">ID</th>
<th runat="server">First Name</th>
<th runat="server">Last Name</th>
<th runat="server">Email Address</th>
</tr>
<tr runat="server" id="itemPlaceholder" />
</table>
<asp:DataPager runat="server" ID="ContactsDataPager" PageSize="12">
<Fields>
<asp:NextPreviousPagerField
ShowFirstPageButton="true" ShowLastPageButton="true"
FirstPageText="|<< " LastPageText=" >>|"
NextPageText=" > " PreviousPageText=" < " />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td valign="top">
<asp:LinkButton ID="EditButton" runat="server" Text="Edit" CommandName="Edit" /><br />
</td>
<td valign="top">
<asp:Label ID="Label1" runat="server" Text='<%#Eval("ContactID") %>' />
</td>
<td valign="top">
<asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
</td>
<td valign="top">
<asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
</td>
<td valign="top">
<asp:Label ID="EmailAddressLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
</td>
</tr>
</ItemTemplate>
<EditItemTemplate>
<tr style="background-color: #ADD8E6">
<td valign="top">
<asp:LinkButton ID="UpdateButton" runat="server" CommandName="Update" Text="Update" /><br />
<asp:LinkButton ID="CancelEditButton" runat="server" CommandName="Cancel" Text="Cancel" />
</td>
<td>
<asp:Label ID="Label1" runat="server" Text='<%#Eval("ContactID") %>' />
</td>
<td>
<asp:TextBox ID="FirstNameTextBox" runat="server"
Text='<%#Bind("FirstName") %>' MaxLength="50" /><br />
</td>
<td>
<asp:TextBox ID="LastNameTextBox" runat="server"
Text='<%#Bind("LastName") %>' MaxLength="50" /><br />
</td>
<td>
<asp:TextBox ID="EmailAddressTextBox" runat="server"
Text='<%#Bind("EmailAddress") %>' MaxLength="50" /><br />
</td>
</tr>
</EditItemTemplate>
<InsertItemTemplate>
<tr style="background-color:#90EE90">
<td colspan="2">
<asp:LinkButton ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" /><br />
<asp:LinkButton ID="CancelInsertButton" runat="server" CommandName="Cancel" Text="Cancel" />
</td>
<td>
<asp:TextBox ID="FirstNameITextBox" runat="server"
Text='<%#Bind("FirstName") %>' MaxLength="50" />
</td>
<td>
<asp:TextBox ID="LastNameITextBox" runat="server"
Text='<%#Bind("LastName") %>' MaxLength="50" />
</td>
<td>
<asp:TextBox ID="EmailAddressITextBox" runat="server"
Text='<%#Bind("EmailAddress") %>' MaxLength="50" />
</td>
</tr>
</InsertItemTemplate>
</asp:ListView>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="ContactsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [ContactID], [FirstName], [LastName], [EmailAddress] FROM Person.Contact"
InsertCommand="INSERT INTO Person.Contact
([FirstName], [LastName], [EmailAddress], [PasswordHash], [PasswordSalt])
Values(@FirstName, @LastName, @EmailAddress, '', '')"
UpdateCommand="UPDATE Person.Contact
SET FirstName = @FirstName, LastName = @LastName,
EmailAddress = @EmailAddress
WHERE ContactID = @ContactID">
</asp:SqlDataSource>
</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 Page_Load()
Message.Text = String.Empty
End Sub
' <Snippet2>
Protected Sub ContactsListView_ItemCanceling(ByVal sender As Object, _
ByVal e As ListViewCancelEventArgs)
'Check the operation that raised the event
If (e.CancelMode = ListViewCancelMode.CancelingEdit) Then
' The update operation was canceled. Display the
' primary key of the item.
Message.Text = "Update for the ContactID " & _
ContactsListView.DataKeys(e.ItemIndex).Value.ToString() & " canceled."
Else
Message.Text = "Insert operation canceled."
End If
End Sub
' </Snippet2>
Protected Sub ContactsListView_PagePropertiesChanging(ByVal sender As Object, _
ByVal e As PagePropertiesChangingEventArgs)
' Clears the edit index selection when paging.
ContactsListView.EditIndex = -1
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView ItemCanceling Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView ItemCanceling Example</h3>
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<br/>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
DataKeyNames="ContactID"
ConvertEmptyStringToNull="true"
InsertItemPosition="LastItem"
runat="server"
OnItemCanceling="ContactsListView_ItemCanceling"
OnPagePropertiesChanging="ContactsListView_PagePropertiesChanging" >
<LayoutTemplate>
<table cellpadding="2" width="680px" border="1" runat="server" id="tblContacts">
<tr runat="server">
<th runat="server"> </th>
<th runat="server">ID</th>
<th runat="server">First Name</th>
<th runat="server">Last Name</th>
<th runat="server">Email Address</th>
</tr>
<tr runat="server" id="itemPlaceholder" />
</table>
<asp:DataPager runat="server" ID="ContactsDataPager" PageSize="12">
<Fields>
<asp:NextPreviousPagerField
ShowFirstPageButton="true" ShowLastPageButton="true"
FirstPageText="|<< " LastPageText=" >>|"
NextPageText=" > " PreviousPageText=" < " />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td valign="top">
<asp:LinkButton ID="EditButton" runat="server" Text="Edit" CommandName="Edit" /><br />
</td>
<td valign="top">
<asp:Label ID="Label1" runat="server" Text='<%#Eval("ContactID") %>' />
</td>
<td valign="top">
<asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
</td>
<td valign="top">
<asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
</td>
<td valign="top">
<asp:Label ID="EmailAddressLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
</td>
</tr>
</ItemTemplate>
<EditItemTemplate>
<tr style="background-color: #ADD8E6">
<td valign="top">
<asp:LinkButton ID="UpdateButton" runat="server" CommandName="Update" Text="Update" /><br />
<asp:LinkButton ID="CancelEditButton" runat="server" CommandName="Cancel" Text="Cancel" />
</td>
<td>
<asp:Label ID="Label1" runat="server" Text='<%#Eval("ContactID") %>' />
</td>
<td>
<asp:TextBox ID="FirstNameTextBox" runat="server"
Text='<%#Bind("FirstName") %>' MaxLength="50" /><br />
</td>
<td>
<asp:TextBox ID="LastNameTextBox" runat="server"
Text='<%#Bind("LastName") %>' MaxLength="50" /><br />
</td>
<td>
<asp:TextBox ID="EmailAddressTextBox" runat="server"
Text='<%#Bind("EmailAddress") %>' MaxLength="50" /><br />
</td>
</tr>
</EditItemTemplate>
<InsertItemTemplate>
<tr style="background-color:#90EE90">
<td colspan="2">
<asp:LinkButton ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" /><br />
<asp:LinkButton ID="CancelInsertButton" runat="server" CommandName="Cancel" Text="Cancel" />
</td>
<td>
<asp:TextBox ID="FirstNameITextBox" runat="server"
Text='<%#Bind("FirstName") %>' MaxLength="50" />
</td>
<td>
<asp:TextBox ID="LastNameITextBox" runat="server"
Text='<%#Bind("LastName") %>' MaxLength="50" />
</td>
<td>
<asp:TextBox ID="EmailAddressITextBox" runat="server"
Text='<%#Bind("EmailAddress") %>' MaxLength="50" />
</td>
</tr>
</InsertItemTemplate>
</asp:ListView>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="ContactsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [ContactID], [FirstName], [LastName], [EmailAddress] FROM Person.Contact"
InsertCommand="INSERT INTO Person.Contact
([FirstName], [LastName], [EmailAddress], [PasswordHash], [PasswordSalt])
Values(@FirstName, @LastName, @EmailAddress, '', '')"
UpdateCommand="UPDATE Person.Contact
SET FirstName = @FirstName, LastName = @LastName,
EmailAddress = @EmailAddress
WHERE ContactID = @ContactID">
</asp:SqlDataSource>
</form>
</body>
</html>
備註
按兩下 [取消] 按鈕,但在結束插入或編輯模式之前,控件 ListView 會引發 ItemCanceling 事件。 (Cancel 按鈕是一個按鈕,其 CommandName
屬性設定為 “Cancel”) 這可讓您提供事件處理方法,在發生此事件時執行自定義例程,例如,如果專案進入不想要的狀態,則會停止取消作業。
ListViewCancelEventArgs對象會傳遞至事件處理方法。 這個物件可讓您判斷包含引發事件之 Cancel 按鈕的專案索引。 您也可以判斷已取消的作業。 若要停止取消作業,請將 Cancel 屬性設定為 true
。
如需 ListViewCancelEventArgs 類別之執行個體的初始屬性值清單,請參閱 ListViewCancelEventArgs 建構函式。
建構函式
ListViewCancelEventArgs(Int32, ListViewCancelMode) |
初始化 ListViewCancelEventArgs 類別的新執行個體。 |
屬性
Cancel |
取得或設定值,這個值表示是否應該取消事件。 (繼承來源 CancelEventArgs) |
CancelMode |
取得 ListView 控制項在按下 [取消] 按鈕時的資料輸入模式。 |
ItemIndex |
取得包含引發事件之 [取消] 按鈕的項目索引。 |
方法
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |