GridView.RowUpdating イベント
アセンブリ: System.Web (system.web.dll 内)

Dim instance As GridView Dim handler As GridViewUpdateEventHandler AddHandler instance.RowUpdating, handler
public: event GridViewUpdateEventHandler^ RowUpdating { void add (GridViewUpdateEventHandler^ value); void remove (GridViewUpdateEventHandler^ value); }

RowUpdating イベントは、行の Update ボタンがクリックされた場合に、GridView コントロールで行が更新される前に発生します。これにより、このイベントが発生するたびにカスタム ルーチン (更新操作のキャンセルなど) を実行するイベント処理メソッドを提供できます。
GridViewUpdateEventArgs オブジェクトがイベント処理メソッドに渡されることにより、現在の行のインデックスを確認したり、更新操作をキャンセルする必要があることを示したりできます。更新操作をキャンセルするには、GridViewUpdateEventArgs オブジェクトの Cancel プロパティを true に設定します。また、必要に応じて、値がデータ ソースに渡される前に Keys、OldValues、および NewValues の各コレクションを操作することもできます。これらのコレクションは、ユーザーが入力した値をデータ ソースに格納する前に HTML エンコードする場合によく使用されます。これは、スクリプト注入攻撃を防ぐために役立ちます。

RowUpdating イベントを使用して、ユーザーが入力したすべての値をデータ ソースの更新前に HTML エンコードする方法を次のコード例に示します。
<%@ Page language="VB" %> <script runat="server"> Sub CustomersGridView_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs) ' Use the CopyTo method to copy the DictionaryEntry objects in the ' NewValues collection to an array. Dim records(e.NewValues.Count - 1) As DictionaryEntry e.NewValues.CopyTo(records, 0) ' Iterate through the array and HTML encode all user-provided values ' before updating the data source. Dim entry As DictionaryEntry For Each entry In records e.NewValues(entry.Key) = Server.HtmlEncode(entry.Value.ToString()) Next End Sub </script> <html> <body> <form runat="server"> <h3>GridView RowUpdating Example</h3> <!-- The GridView control automatically sets the columns --> <!-- specified in the datakeynames property as read-only. --> <!-- No input controls are rendered for these columns in --> <!-- edit mode. --> <asp:gridview id="CustomersGridView" datasourceid="CustomersSqlDataSource" autogeneratecolumns="true" autogenerateeditbutton="true" allowpaging="true" datakeynames="CustomerID" onrowupdating="CustomersGridView_RowUpdating" runat="server"> </asp:gridview> <!-- 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="CustomersSqlDataSource" 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"> </asp:sqldatasource> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void CustomersGridView_RowUpdating(Object sender, GridViewUpdateEventArgs e) { // Iterate through the NewValues collection and HTML encode all // user-provided values before updating the data source. foreach (DictionaryEntry entry in e.NewValues) { e.NewValues[entry.Key] = Server.HtmlEncode(entry.Value.ToString()); } } </script> <html> <body> <form runat="server"> <h3>GridView RowUpdating Example</h3> <!-- The GridView control automatically sets the columns --> <!-- specified in the datakeynames property as read-only. --> <!-- No input controls are rendered for these columns in --> <!-- edit mode. --> <asp:gridview id="CustomersGridView" datasourceid="CustomersSqlDataSource" autogeneratecolumns="true" autogenerateeditbutton="true" allowpaging="true" datakeynames="CustomerID" onrowupdating="CustomersGridView_RowUpdating" runat="server"> </asp:gridview> <!-- 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="CustomersSqlDataSource" 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"> </asp:sqldatasource> </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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からGridView.RowUpdating イベントを検索する場合は、下記のリンクをクリックしてください。

- GridView.RowUpdating イベントのページへのリンク