DataPagerCommandEventArgs Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет данные для PagerCommand события TemplatePagerField класса.
public ref class DataPagerCommandEventArgs : System::Web::UI::WebControls::CommandEventArgs
public class DataPagerCommandEventArgs : System.Web.UI.WebControls.CommandEventArgs
type DataPagerCommandEventArgs = class
inherit CommandEventArgs
Public Class DataPagerCommandEventArgs
Inherits CommandEventArgs
- Наследование
Примеры
В следующем примере показано, как использовать DataPagerCommandEventArgs объект, чтобы разрешить пользователю указать, какая страница данных будет отображаться в элементе ListView управления. Объект DataPagerCommandEventArgs передается обработчику для PagerCommand события TemplatePagerField класса.
Important
В этом примере содержится текстовое поле, которое принимает входные данные пользователя, которое является потенциальной угрозой безопасности. По умолчанию ASP.NET веб-страницы проверяют, что входные данные пользователя не включают скрипт или ЭЛЕМЕНТЫ HTML. Дополнительные сведения см. в разделе "Обзор эксплойтов скриптов".
<%@ 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 TemplatePagerField_OnPagerCommand(object sender, DataPagerCommandEventArgs e)
{
// Get the new page number
TextBox PageNumberTextBox = (TextBox)e.Item.FindControl("PageNumberTextBox");
int newPageNumber = -1;
try
{
newPageNumber = Convert.ToInt32(PageNumberTextBox.Text.Trim());
}
catch (FormatException)
{
Message.Text = "Invalid page number.";
return;
}
catch (OverflowException)
{
Message.Text = "Invalid page number.";
return;
}
int newIndex = (newPageNumber - 1) * e.Item.Pager.PageSize;
//Verify if the new index is valid
if (newIndex >= 0 && newIndex <= e.TotalRowCount)
{
//Set the new start index and maximum rows
e.NewStartRowIndex = newIndex;
e.NewMaximumRows = e.Item.Pager.MaximumRows;
}
else
Message.Text = "Invalid page number.";
}
// </Snippet2>
protected void Page_Load(object sender, EventArgs e)
{
Message.Text = "";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>DataPagerCommandEventArgs Example</title>
<style type="text/css">
body
{
text-align: center;
font: 12px Arial, Helvetica, sans-serif;
}
.item
{
border: 1px solid #8b7e66;
background: white;
min-height: 19px;
width: 33%;
}
.alternatingItem
{
border: solid 1px #8b7e66;
background: #f5deb3;
width: 33%;
min-height: 19px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>DataPagerCommandEventArgs Example</h3>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
GroupItemCount="3"
runat="server">
<LayoutTemplate>
<table cellpadding="4" width="640px" id="tblProducts" runat="server">
<tr runat="server" id="groupPlaceholder" />
</table>
<asp:DataPager runat="server"
ID="ContactsDataPager"
PageSize="30"
PagedControlID="ContactsListView">
<Fields>
<asp:TemplatePagerField OnPagerCommand="TemplatePagerField_OnPagerCommand">
<PagerTemplate>
<b>
Page
<asp:Label runat="server" ID="CurrentPageLabel"
Text="<%# Container.TotalRowCount>0 ? (Container.StartRowIndex / Container.PageSize) + 1 : 0 %>" />
of
<asp:Label runat="server" ID="TotalPagesLabel"
Text="<%# Math.Ceiling ((double)Container.TotalRowCount / Container.PageSize) %>" />
</b>
<br /><br />
Jump to page:
<asp:TextBox ID="PageNumberTextBox" runat="server"
Width="30px"
Text="<%# Container.TotalRowCount>0 ? (Container.StartRowIndex / Container.PageSize) + 1 : 0 %>" />
<asp:Button ID="GoButton" runat="server" Text="Go" />
<br /><br />
</PagerTemplate>
</asp:TemplatePagerField>
</Fields>
</asp:DataPager>
</LayoutTemplate>
<GroupTemplate>
<tr runat="server" id="ProductsRow">
<td runat="server" id="itemPlaceholder" />
</tr>
</GroupTemplate>
<ItemTemplate>
<td class="item" runat="server">
<asp:Label ID="NameLabel" runat="server"
Text='<%# Eval("LastName") + ", " + Eval("FirstName")%>' />
</td>
</ItemTemplate>
<AlternatingItemTemplate>
<td class="alternatingItem" runat="server">
<asp:Label ID="NameLabel" runat="server"
Text='<%# Eval("LastName") + ", " + Eval("FirstName")%>' />
</td>
</AlternatingItemTemplate>
</asp:ListView>
<br />
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<!-- 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]
FROM Person.Contact">
</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 TemplatePagerField_OnPagerCommand(ByVal sender As Object, _
ByVal e As DataPagerCommandEventArgs)
' Get the new page number
Dim PageNumberTextBox As TextBox = _
CType(e.Item.FindControl("PageNumberTextBox"), TextBox)
Dim newPageNumber As Integer = -1
Try
newPageNumber = Convert.ToInt32(PageNumberTextBox.Text.Trim())
Catch fex As FormatException
Message.Text = "Invalid page number."
Return
Catch oex As OverflowException
Message.Text = "Invalid page number."
Return
End Try
Dim newIndex As Integer = _
(newPageNumber - 1) * e.Item.Pager.PageSize
'Verify if the new index is valid
If newIndex >= 0 AndAlso newIndex <= e.TotalRowCount Then
'Set the new start index and maximum rows
e.NewStartRowIndex = newIndex
e.NewMaximumRows = e.Item.Pager.MaximumRows
Else
Message.Text = "Invalid page number."
End If
End Sub
' </Snippet2>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Message.Text = ""
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>DataPagerCommandEventArgs Example</title>
<style type="text/css">
body
{
text-align: center;
font: 12px Arial, Helvetica, sans-serif;
}
.item
{
border: 1px solid #8b7e66;
background: white;
min-height: 19px;
width: 33%;
}
.alternatingItem
{
border: solid 1px #8b7e66;
background: #f5deb3;
width: 33%;
min-height: 19px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>DataPagerCommandEventArgs Example</h3>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
GroupItemCount="3"
runat="server">
<LayoutTemplate>
<table cellpadding="4" width="640px" id="tblProducts" runat="server">
<tr runat="server" id="groupPlaceholder" />
</table>
<asp:DataPager runat="server"
ID="ContactsDataPager"
PageSize="30"
PagedControlID="ContactsListView">
<Fields>
<asp:TemplatePagerField OnPagerCommand="TemplatePagerField_OnPagerCommand">
<PagerTemplate>
<b>
Page
<asp:Label runat="server" ID="CurrentPageLabel"
Text="<%# IIf(Container.TotalRowCount>0, (Container.StartRowIndex / Container.PageSize) + 1 , 0) %>" />
of
<asp:Label runat="server" ID="TotalPagesLabel"
Text="<%# Math.Ceiling (System.Convert.ToDouble(Container.TotalRowCount / Container.PageSize)) %>" />
</b>
<br /><br />
Jump to page:
<asp:TextBox ID="PageNumberTextBox" runat="server"
Width="30px"
Text="<%# IIf(Container.TotalRowCount>0, (Container.StartRowIndex / Container.PageSize) + 1, 0) %>" />
<asp:Button ID="GoButton" runat="server" Text="Go" />
<br /><br />
</PagerTemplate>
</asp:TemplatePagerField>
</Fields>
</asp:DataPager>
</LayoutTemplate>
<GroupTemplate>
<tr runat="server" id="ProductsRow">
<td runat="server" id="itemPlaceholder" />
</tr>
</GroupTemplate>
<ItemTemplate>
<td id="Td1" class="item" runat="server">
<asp:Label ID="NameLabel" runat="server"
Text='<%# Eval("LastName") & ", " & Eval("FirstName")%>' />
</td>
</ItemTemplate>
<AlternatingItemTemplate>
<td id="Td2" class="alternatingItem" runat="server">
<asp:Label ID="NameLabel" runat="server"
Text='<%# Eval("LastName") & ", " & Eval("FirstName")%>' />
</td>
</AlternatingItemTemplate>
</asp:ListView>
<br />
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<!-- 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]
FROM Person.Contact">
</asp:SqlDataSource>
</form>
</body>
</html>
Комментарии
Объект TemplatePagerField вызывает событие, когда PagerCommandButtonщелкается LinkButton элемент управления или ImageButton элемент управления внутри поля пейджера. Эти кнопки — это дочерние элементы управления, которые можно определить в шаблоне PagerTemplateTemplatePagerField поля.
Во время события можно выполнять такие задачи, как изменение количества строк, которые будут отображаться или изменять индекс первого элемента на странице.
Дополнительные сведения об обработке событий см. в разделе "Обработка и создание событий".
Список начальных значений свойств для экземпляра DataPagerCommandEventArgs класса см. в конструкторе DataPagerCommandEventArgs .
Конструкторы
| Имя | Описание |
|---|---|
| DataPagerCommandEventArgs(DataPagerField, Int32, CommandEventArgs, DataPagerFieldItem) |
Инициализирует новый экземпляр класса DataPagerCommandEventArgs. |
Свойства
| Имя | Описание |
|---|---|
| CommandArgument |
Возвращает аргумент команды. (Унаследовано от CommandEventArgs) |
| CommandName |
Возвращает имя команды. (Унаследовано от CommandEventArgs) |
| Item |
DataPagerFieldItem Возвращает объект, содержащий DataPagerField объект и DataPagerField объект контейнера DataPager объекта. |
| NewMaximumRows |
Возвращает или задает максимальное количество записей, отображаемых на каждой странице данных. |
| NewStartRowIndex |
Возвращает или задает индекс первой записи, отображаемой на странице данных. |
| PagerField |
DataPagerField Возвращает объект, содержащий кнопку, которая была нажата. |
| TotalRowCount |
Возвращает общее количество отображаемых записей. |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |