ListView.PagePropertiesChanging 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在页属性更改之后、ListView 控件设置新值之前发生。
public:
event EventHandler<System::Web::UI::WebControls::PagePropertiesChangingEventArgs ^> ^ PagePropertiesChanging;
public event EventHandler<System.Web.UI.WebControls.PagePropertiesChangingEventArgs> PagePropertiesChanging;
member this.PagePropertiesChanging : EventHandler<System.Web.UI.WebControls.PagePropertiesChangingEventArgs>
Public Custom Event PagePropertiesChanging As EventHandler(Of PagePropertiesChangingEventArgs)
事件类型
示例
以下示例演示如何为 PagePropertiesChanging 事件创建事件处理程序。
<%@ 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">
// <Snippet2>
protected void DeleteButton_Click(object sender, EventArgs e)
{
//Check if an item is selected to delete it.
if (ContactsListView.SelectedIndex >= 0)
ContactsListView.DeleteItem(ContactsListView.SelectedIndex);
else
Message.Text = "No contact was selected.";
}
// </Snippet2>
protected void ContactsListView_ItemDeleted(object sender, ListViewDeletedEventArgs e)
{
//Check if an exception occurred to display an error message.
if (e.Exception != null)
{
Message.Text = "An exception occurred deleting the contact.";
e.ExceptionHandled = true;
}
else
{
// Clear the selected index.
ContactsListView.SelectedIndex = -1;
}
}
protected void ContactsListView_PagePropertiesChanging(object sender,
PagePropertiesChangingEventArgs e)
{
//Clear the selected index.
ContactsListView.SelectedIndex = -1;
}
protected void Page_Load(object sender, EventArgs e)
{
//Clear the message label.
Message.Text = "";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView DeleteItem Example</title>
<style type="text/css">
body
{
font-size: 10pt;
font-family: Trebuchet MS, Arial, Tahoma;
text-align:center;
}
.item { background-color: #E0FFFF }
.selectedItem { background-color: #B0E0E6 }
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView DeleteItem Example</h3>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
DataKeyNames="ContactID"
OnItemDeleted="ContactsListView_ItemDeleted"
OnPagePropertiesChanging="ContactsListView_PagePropertiesChanging"
runat="server" >
<LayoutTemplate>
<table cellpadding="2" width="640px" id="tblProducts" runat="server">
<tr runat="server">
<th runat="server"> </th>
<th runat="server">ID</th>
<th runat="server">Account Number</th>
<th runat="server">LastName</th>
<th runat="server">Preferred Vendor</th>
</tr>
<tr runat="server" id="itemPlaceholder" />
</table>
<asp:DataPager ID="ContactsDataPager" runat="server" PageSize="15">
<Fields>
<asp:NextPreviousPagerField ButtonType="Button"
ShowFirstPageButton="true"
ShowNextPageButton="false"
ShowPreviousPageButton="false" />
<asp:NumericPagerField ButtonCount="10" />
<asp:NextPreviousPagerField ButtonType="Button"
ShowLastPageButton="true"
ShowNextPageButton="false"
ShowPreviousPageButton="false" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr class="item" runat="server">
<td>
<asp:LinkButton ID="SelectButton" runat="server" CommandName="Select" Text="Select" />
</td>
<td>
<asp:Label ID="ContactIDLabel" runat="server" Text='<%# Eval("ContactID") %>' />
</td>
<td>
<asp:Label ID="FirstNameLabel" runat="server" Text='<%# Eval("FirstName") %>' />
</td>
<td>
<asp:Label ID="LastNameLabel" runat="server" Text='<%# Eval("LastName") %>' />
</td>
<td>
<asp:Label ID="EmailLabel" runat="server" Text='<%# Eval("EmailAddress") %>' />
</td>
</tr>
</ItemTemplate>
<SelectedItemTemplate>
<tr class="selectedItem" runat="server">
<td> </td>
<td>
<asp:Label ID="ContactIDLabel" runat="server" Text='<%# Eval("ContactID") %>' />
</td>
<td>
<asp:Label ID="FirstNameLabel" runat="server" Text='<%# Eval("FirstName") %>' />
</td>
<td>
<asp:Label ID="LastNameLabel" runat="server" Text='<%# Eval("LastName") %>' />
</td>
<td>
<asp:Label ID="EmailLabel" runat="server" Text='<%# Eval("EmailAddress") %>' />
</td>
</tr>
</SelectedItemTemplate>
</asp:ListView>
<br />
<br />
<asp:Button ID="DeleteButton"
Text="Delete Selected Contact"
OnClick="DeleteButton_Click"
runat="server" />
<br />
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<br/>
<!-- 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"
DeleteCommand="DELETE FROM Person.Contact 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">
' <Snippet2>
Protected Sub DeleteButton_Click(ByVal sender As Object, ByVal e As EventArgs)
' Check if an item is selected to delete it.
If ContactsListView.SelectedIndex >= 0 Then
ContactsListView.DeleteItem(ContactsListView.SelectedIndex)
Else
Message.Text = "No contact was selected."
End If
End Sub
' </Snippet2>
Protected Sub ContactsListView_ItemDeleted(ByVal sender As Object, _
ByVal e As ListViewDeletedEventArgs)
' Check if an exception occurred to display an error message.
If Not (e.Exception Is Nothing) Then
Message.Text = "An exception occurred deleting the contact."
e.ExceptionHandled = True
Else
' Clear the selected index.
ContactsListView.SelectedIndex = -1
End If
End Sub
Protected Sub ContactsListView_PagePropertiesChanging(ByVal sender As Object, _
ByVal e As PagePropertiesChangingEventArgs)
' Clear the selected index.
ContactsListView.SelectedIndex = -1
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' Clear the message label.
Message.Text = ""
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView DeleteItem Example</title>
<style type="text/css">
body
{
font-size: 10pt;
font-family: Trebuchet MS, Arial, Tahoma;
text-align:center;
}
.item { background-color: #E0FFFF }
.selectedItem { background-color: #B0E0E6 }
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView DeleteItem Example</h3>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
DataKeyNames="ContactID"
OnItemDeleted="ContactsListView_ItemDeleted"
OnPagePropertiesChanging="ContactsListView_PagePropertiesChanging"
runat="server" >
<LayoutTemplate>
<table cellpadding="2" width="640px" id="tblProducts" runat="server">
<tr runat="server">
<th runat="server"> </th>
<th runat="server">ID</th>
<th runat="server">Account Number</th>
<th runat="server">LastName</th>
<th runat="server">Preferred Vendor</th>
</tr>
<tr runat="server" id="itemPlaceholder" />
</table>
<asp:DataPager ID="ContactsDataPager" runat="server" PageSize="15">
<Fields>
<asp:NextPreviousPagerField ButtonType="Button"
ShowFirstPageButton="true"
ShowNextPageButton="false"
ShowPreviousPageButton="false" />
<asp:NumericPagerField ButtonCount="10" />
<asp:NextPreviousPagerField ButtonType="Button"
ShowLastPageButton="true"
ShowNextPageButton="false"
ShowPreviousPageButton="false" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr class="item" runat="server">
<td>
<asp:LinkButton ID="SelectButton" runat="server" CommandName="Select" Text="Select" />
</td>
<td>
<asp:Label ID="ContactIDLabel" runat="server" Text='<%# Eval("ContactID") %>' />
</td>
<td>
<asp:Label ID="FirstNameLabel" runat="server" Text='<%# Eval("FirstName") %>' />
</td>
<td>
<asp:Label ID="LastNameLabel" runat="server" Text='<%# Eval("LastName") %>' />
</td>
<td>
<asp:Label ID="EmailLabel" runat="server" Text='<%# Eval("EmailAddress") %>' />
</td>
</tr>
</ItemTemplate>
<SelectedItemTemplate>
<tr class="selectedItem" runat="server">
<td> </td>
<td>
<asp:Label ID="ContactIDLabel" runat="server" Text='<%# Eval("ContactID") %>' />
</td>
<td>
<asp:Label ID="FirstNameLabel" runat="server" Text='<%# Eval("FirstName") %>' />
</td>
<td>
<asp:Label ID="LastNameLabel" runat="server" Text='<%# Eval("LastName") %>' />
</td>
<td>
<asp:Label ID="EmailLabel" runat="server" Text='<%# Eval("EmailAddress") %>' />
</td>
</tr>
</SelectedItemTemplate>
</asp:ListView>
<br />
<br />
<asp:Button ID="DeleteButton"
Text="Delete Selected Contact"
OnClick="DeleteButton_Click"
runat="server" />
<br />
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<br/>
<!-- 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"
DeleteCommand="DELETE FROM Person.Contact WHERE (ContactID = @ContactID)" >
</asp:SqlDataSource>
</form>
</body>
</html>
注解
当PagePropertiesChanging页面属性更改时,但在控件使用 SetPageProperties 方法设置新值之前ListView,将引发 事件。 这使你可以在发生此事件时执行自定义例程,例如清除 SelectedIndex 或 EditIndex 属性。
对象 PagePropertiesChangingEventArgs 传递给 事件处理程序,该处理程序使你能够确定页面上显示的第一条记录的索引。 它还允许你确定在单个页面上显示的最大项数。
有关如何处理事件的详细信息,请参阅 处理和引发事件。