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 класса .
Важно!
В этом примере содержится текстовое поле, которое принимает введенные пользователем данные, что является потенциальной угрозой безопасности. По умолчанию данные, вводимые пользователем на веб-страницах 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 вызывает событие при PagerCommand щелчке Buttonэлемента управления , LinkButtonили ImageButton , который находится внутри поля страничного навиджа. Эти кнопки являются дочерними элементами управления, которые можно определить в PagerTemplate шаблоне TemplatePagerField поля.
Во время события можно выполнять такие задачи, как изменение количества отображаемых строк или изменение индекса первого элемента на странице.
Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.
Список начальных значений свойств для экземпляра класса 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) |