DetailsViewPageEventArgs.NewPageIndex プロパティ
アセンブリ: System.Web (system.web.dll 内)

Dim instance As DetailsViewPageEventArgs Dim value As Integer value = instance.NewPageIndex instance.NewPageIndex = value
/** @property */ public int get_NewPageIndex () /** @property */ public void set_NewPageIndex (int value)
DetailsView コントロールに表示する新しいページのインデックス。

PageIndexChanging イベントは DetailsView コントロールがページング操作を実行する前に発生するため、このコントロールの PageIndex プロパティには前回表示されたページのインデックスが格納されます。そのため、このコントロールは、ユーザーが選択したページのインデックスの確認には使用できません。ページのインデックスを確認するには、NewPageIndex プロパティを使用します。また、このプロパティを使用すると、プログラムによって別の値を設定することで、ユーザーが選択したページのインデックスをオーバーライドすることもできます。

NewPageIndex プロパティを使用して、ユーザーが選択したページのインデックスを確認する方法のコード例を次に示します。
<%@ Page language="VB" %> <script runat="server"> Sub CustomerDetailsView_PageIndexChanging(ByVal sender As Object, ByVal e As DetailsViewPageEventArgs) ' Cancel the paging operation if the DetailsView control ' in edit mode. If CustomerDetailsView.CurrentMode = DetailsViewMode.Edit Then e.Cancel = True ' Display an error message. Dim newPage As Integer = e.NewPageIndex + 1 MessageLabel.Text = "Please update the current record before to moving to page " & _ newPage.ToString() & "." End If End Sub Sub CustomerDetailsView_ModeChanging(ByVal sender As Object, ByVal e As DetailsViewModeEventArgs) ' Clear the message label when the user cancels edit mode. If e.CancelingEdit Then MessageLabel.Text = "" End If End Sub </script> <html> <body> <form runat="server"> <h3>DetailsViewPageEventArgs Example</h3> <asp:detailsview id="CustomerDetailsView" datasourceid="DetailsViewSource" autogeneraterows="true" autogenerateeditbutton="true" datakeynames="CustomerID" allowpaging="true" onpageindexchanging="CustomerDetailsView_PageIndexChanging" onmodechanging="CustomerDetailsView_ModeChanging" runat="server"> <pagersettings position="Bottom"/> </asp:detailsview> <br/> <asp:label id="MessageLabel" forecolor="Red" runat="server"/> <!-- This example uses Microsoft SQL Server and connects --> <!-- to the Northwind sample database. Use an ASP.NET --> <!-- expression to retrieve the connection string value --> <!-- from the web.config file. --> <asp:sqldatasource id="DetailsViewSource" selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]" updatecommand="Update [Customers] Set [CompanyName]=@CompanyName, [Address]=@Address, [City]=@City, [PostalCode]=@PostalCode, [Country]=@Country Where [CustomerID]=@CustomerID" connectionstring= "<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void CustomerDetailsView_PageIndexChanging(Object sender, DetailsViewPageEventArgs e) { // Cancel the paging operation if the DetailsView control // in edit mode. if (CustomerDetailsView.CurrentMode == DetailsViewMode.Edit) { e.Cancel = true; // Display an error message. int newPage = e.NewPageIndex + 1; MessageLabel.Text = "Please update the current record before to moving to page " + newPage.ToString() + "."; } } void CustomerDetailsView_ModeChanging(Object sender, DetailsViewModeEventArgs e) { // Clear the message label when the user cancels edit mode. if (e.CancelingEdit) { MessageLabel.Text = ""; } } </script> <html> <body> <form runat="server"> <h3>DetailsViewPageEventArgs Example</h3> <asp:detailsview id="CustomerDetailsView" datasourceid="DetailsViewSource" autogeneraterows="true" autogenerateeditbutton="true" datakeynames="CustomerID" allowpaging="true" onpageindexchanging="CustomerDetailsView_PageIndexChanging" onmodechanging="CustomerDetailsView_ModeChanging" runat="server"> <pagersettings position="Bottom"/> </asp:detailsview> <br/> <asp:label id="MessageLabel" forecolor="Red" runat="server"/> <!-- This example uses Microsoft SQL Server and connects --> <!-- to the Northwind sample database. Use an ASP.NET --> <!-- expression to retrieve the connection string value --> <!-- from the web.config file. --> <asp:sqldatasource id="DetailsViewSource" selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]" updatecommand="Update [Customers] Set [CompanyName]=@CompanyName, [Address]=@Address, [City]=@City, [PostalCode]=@PostalCode, [Country]=@Country Where [CustomerID]=@CustomerID" connectionstring= "<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- DetailsViewPageEventArgs.NewPageIndex プロパティのページへのリンク