FormViewUpdatedEventArgs クラス
アセンブリ: System.Web (system.web.dll 内)
構文
解説FormView コントロールは、コントロール内の Update ボタン (CommandName プロパティが "Update" に設定されたボタン) がクリックされた場合に、FormView コントロールが実際にレコードを更新した後に ItemUpdated イベントを発生させます。これにより、このイベントが発生するたびにカスタム ルーチン (更新操作の結果を確認するなど) を実行するイベント処理メソッドを提供できます。
FormViewUpdatedEventArgs オブジェクトがイベント処理メソッドに渡されることにより、影響を受けたレコード数および発生した例外を確認できます。更新操作の影響を受けたレコード数を確認するには、AffectedRows プロパティを使用します。例外が発生しているかどうかを確認するには、Exception プロパティを使用します。ExceptionHandled プロパティを設定することにより、イベント処理メソッドで既に例外が処理されたかどうかを示すこともできます。更新されたレコードの元のキー フィールド値にアクセスする必要がある場合は、Keys プロパティを使用します。元のキー以外のフィールド値には、OldValues プロパティを使用してアクセスできます。更新された値 (ユーザーがキー フィールドを編集できるようにしている場合は更新されたキー フィールド値も含む) には、NewValues プロパティを使用してアクセスできます。
既定では、FormView コントロールは、更新操作の後、DefaultMode プロパティで指定されているモードに戻ります。更新操作中に発生した例外を処理する場合、KeepInEditMode プロパティを true に設定することによって、FormView コントロールを編集モードのまま維持できます。
イベント処理の詳細については、「イベントの利用」を参照してください。
FormViewUpdatedEventArgs クラスのインスタンスの初期プロパティ値の一覧については、FormViewUpdatedEventArgs コンストラクタのトピックを参照してください。
使用例ItemUpdated イベントのイベント処理メソッドに渡された FormViewUpdatedEventArgs オブジェクトを使用して、更新操作中に例外が発生したかどうかを確認する方法を次の例に示します。
<%@ Page language="VB" %> <script runat="server"> Sub EmployeeFormView_ItemUpdated(ByVal sender As Object, ByVal e As FormViewUpdatedEventArgs) Handles EmployeeFormView.ItemUpdated ' Use the Exception property to determine whether an exception ' occurred during the update operation. If e.Exception Is Nothing Then ' Sometimes an error might occur that does not raise an ' exception, but prevents the update operation from ' completing. Use the AffectedRows property to determine ' whether the record was actually updated. If e.AffectedRows = 1 Then ' Use the Keys property to get the value of the key field. Dim keyFieldValue As String = e.Keys("EmployeeID").ToString() ' Display a confirmation message. MessageLabel.Text = "Record " & keyFieldValue & _ " updated successfully. " ' Display the new and original values. DisplayValues(CType(e.NewValues, OrderedDictionary), CType(e.OldValues, OrderedDictionary)) Else ' Display an error message. MessageLabel.Text = "An error occurred during the update operation." ' When an error occurs, keep the FormView ' control in edit mode. e.KeepInEditMode = True End If Else ' Insert the code to handle the exception. MessageLabel.Text = e.Exception.Message ' Use the ExceptionHandled property to indicate that the ' exception has already been handled. e.ExceptionHandled = True e.KeepInEditMode = True End If End Sub Sub DisplayValues(ByVal newValues As OrderedDictionary, ByVal oldValues As OrderedDictionary) MessageLabel.Text &= "<br/></br>" ' Iterate through the new and old values. Display the ' values on the page. Dim i As Integer For i = 0 To oldValues.Count - 1 MessageLabel.Text &= "Old Value=" & oldValues(i).ToString() & _ ", New Value=" & newValues(i).ToString() & "<br/>" Next MessageLabel.Text &= "</br>" End Sub </script> <html> <body> <form runat="server"> <h3>FormViewUpdatedEventArgs Example</h3> <asp:formview id="EmployeeFormView" datasourceid="EmployeeSource" allowpaging="true" datakeynames="EmployeeID" emptydatatext="No employees found." runat="server"> <itemtemplate> <table> <tr> <td rowspan="6"> <asp:image id="EmployeeImage" imageurl='<%# Eval("PhotoPath") %>' alternatetext='<%# Eval("LastName") %>' runat="server"/> </td> <td colspan="2"> </td> </tr> <tr> <td> <b>Name:</b> </td> <td> <%# Eval("FirstName") %> <%# Eval("LastName") %> </td> </tr> <tr> <td> <b>Title:</b> </td> <td> <%# Eval("Title") %> </td> </tr> <tr> <td> <b>Hire Date:</b> </td> <td> <%# Eval("HireDate","{0:d}") %> </td> </tr> <tr height="150" valign="top"> <td> <b>Address:</b> </td> <td> <%# Eval("Address") %><br/> <%# Eval("City") %> <%# Eval("Region") %> <%# Eval("PostalCode") %><br/> <%# Eval("Country") %> </td> </tr> <tr> <td colspan="2"> <asp:linkbutton id="Edit" text="Edit" commandname="Edit" runat="server"/> </td> </tr> </table> </itemtemplate> <edititemtemplate> <table> <tr> <td rowspan="6"> <asp:image id="EmployeeEditImage" imageurl='<%# Eval("PhotoPath") %>' alternatetext='<%# Eval("LastName") %>' runat="server"/> </td> <td colspan="2"> </td> </tr> <tr> <td> <b>Name:</b> </td> <td> <asp:textbox id="FirstNameUpdateTextBox" text='<%# Bind("FirstName") %>' runat="server"/> <asp:textbox id="LastNameUpdateTextBox" text='<%# Bind("LastName") %>' runat="server"/> </td> </tr> <tr> <td> <b>Title:</b> </td> <td> <asp:textbox id="TitleUpdateTextBox" text='<%# Bind("Title") %>' runat="server"/> </td> </tr> <tr> <td> <b>Hire Date:</b> </td> <td> <asp:textbox id="HireDateUpdateTextBox" text='<%# Bind("HireDate", "{0:d}") %>' runat="server"/> </td> </tr> <tr height="150" valign="top"> <td> <b>Address:</b> </td> <td> <asp:textbox id="AddressUpdateTextBox" text='<%# Bind("Address") %>' runat="server"/> <br/> <asp:textbox id="CityUpdateTextBox" text='<%# Bind("City") %>' runat="server"/> <asp:textbox id="RegionUpdateTextBox" text='<%# Bind("Region") %>' width="40" runat="server"/> <asp:textbox id="PostalCodeUpdateTextBox" text='<%# Bind("PostalCode") %>' width="60" runat="server"/> <br/> <asp:textbox id="CountryUpdateTextBox" text='<%# Bind("Country") %>' runat="server"/> </td> </tr> <tr> <td colspan="2"> <asp:linkbutton id="UpdateButton" text="Update" commandname="Update" runat="server"/> <asp:linkbutton id="CancelButton" text="Cancel" commandname="Cancel" runat="server"/> </td> </tr> </table> </edititemtemplate> </asp:formview> <br/><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="EmployeeSource" selectcommand="Select [EmployeeID], [LastName], [FirstName], [Title], [Address], [City], [Region], [PostalCode], [Country], [HireDate], [PhotoPath] From [Employees]" updatecommand="Update [Employees] Set [LastName]=@LastName, [FirstName]=@FirstName, [Title]=@Title, [Address]=@Address, [City]=@City, [Region]=@Region, [PostalCode]=@PostalCode, [Country]=@Country Where [EmployeeID]=@EmployeeID" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void EmployeeFormView_ItemUpdated(Object sender, FormViewUpdatedEventArgs e) { // Use the Exception property to determine whether an exception // occurred during the update operation. if (e.Exception == null) { // Sometimes an error might occur that does not raise an // exception, but prevents the update operation from // completing. Use the AffectedRows property to determine // whether the record was actually updated. if (e.AffectedRows == 1) { // Use the Keys property to get the value of the key field. String keyFieldValue = e.Keys["EmployeeID"].ToString(); // Display a confirmation message. MessageLabel.Text = "Record " + keyFieldValue + " updated successfully. "; // Display the new and original values. DisplayValues((OrderedDictionary)e.NewValues, (OrderedDictionary)e.OldValues); } else { // Display an error message. MessageLabel.Text = "An error occurred during the update operation."; // When an error occurs, keep the FormView // control in edit mode. e.KeepInEditMode = true; } } else { // Insert the code to handle the exception. MessageLabel.Text = e.Exception.Message; // Use the ExceptionHandled property to indicate that the // exception has already been handled. e.ExceptionHandled = true; e.KeepInEditMode = true; } } void DisplayValues(OrderedDictionary newValues, OrderedDictionary oldValues) { MessageLabel.Text += "<br/></br>"; // Iterate through the new and old values. Display the // values on the page. for (int i = 0; i < oldValues.Count; i++) { MessageLabel.Text += "Old Value=" + oldValues[i].ToString() + ", New Value=" + newValues[i].ToString() + "<br/>"; } MessageLabel.Text += "</br>"; } </script> <html> <body> <form runat="server"> <h3>FormViewUpdatedEventArgs Example</h3> <asp:formview id="EmployeeFormView" datasourceid="EmployeeSource" allowpaging="true" datakeynames="EmployeeID" emptydatatext="No employees found." onitemupdated="EmployeeFormView_ItemUpdated" runat="server"> <itemtemplate> <table> <tr> <td rowspan="6"> <asp:image id="EmployeeImage" imageurl='<%# Eval("PhotoPath") %>' alternatetext='<%# Eval("LastName") %>' runat="server"/> </td> <td colspan="2"> </td> </tr> <tr> <td> <b>Name:</b> </td> <td> <%# Eval("FirstName") %> <%# Eval("LastName") %> </td> </tr> <tr> <td> <b>Title:</b> </td> <td> <%# Eval("Title") %> </td> </tr> <tr> <td> <b>Hire Date:</b> </td> <td> <%# Eval("HireDate","{0:d}") %> </td> </tr> <tr height="150" valign="top"> <td> <b>Address:</b> </td> <td> <%# Eval("Address") %><br/> <%# Eval("City") %> <%# Eval("Region") %> <%# Eval("PostalCode") %><br/> <%# Eval("Country") %> </td> </tr> <tr> <td colspan="2"> <asp:linkbutton id="Edit" text="Edit" commandname="Edit" runat="server"/> </td> </tr> </table> </itemtemplate> <edititemtemplate> <table> <tr> <td rowspan="6"> <asp:image id="EmployeeEditImage" imageurl='<%# Eval("PhotoPath") %>' alternatetext='<%# Eval("LastName") %>' runat="server"/> </td> <td colspan="2"> </td> </tr> <tr> <td> <b>Name:</b> </td> <td> <asp:textbox id="FirstNameUpdateTextBox" text='<%# Bind("FirstName") %>' runat="server"/> <asp:textbox id="LastNameUpdateTextBox" text='<%# Bind("LastName") %>' runat="server"/> </td> </tr> <tr> <td> <b>Title:</b> </td> <td> <asp:textbox id="TitleUpdateTextBox" text='<%# Bind("Title") %>' runat="server"/> </td> </tr> <tr> <td> <b>Hire Date:</b> </td> <td> <asp:textbox id="HireDateUpdateTextBox" text='<%# Bind("HireDate", "{0:d}") %>' runat="server"/> </td> </tr> <tr height="150" valign="top"> <td> <b>Address:</b> </td> <td> <asp:textbox id="AddressUpdateTextBox" text='<%# Bind("Address") %>' runat="server"/> <br/> <asp:textbox id="CityUpdateTextBox" text='<%# Bind("City") %>' runat="server"/> <asp:textbox id="RegionUpdateTextBox" text='<%# Bind("Region") %>' width="40" runat="server"/> <asp:textbox id="PostalCodeUpdateTextBox" text='<%# Bind("PostalCode") %>' width="60" runat="server"/> <br/> <asp:textbox id="CountryUpdateTextBox" text='<%# Bind("Country") %>' runat="server"/> </td> </tr> <tr> <td colspan="2"> <asp:linkbutton id="UpdateButton" text="Update" commandname="Update" runat="server"/> <asp:linkbutton id="CancelButton" text="Cancel" commandname="Cancel" runat="server"/> </td> </tr> </table> </edititemtemplate> </asp:formview> <br/><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="EmployeeSource" selectcommand="Select [EmployeeID], [LastName], [FirstName], [Title], [Address], [City], [Region], [PostalCode], [Country], [HireDate], [PhotoPath] From [Employees]" updatecommand="Update [Employees] Set [LastName]=@LastName, [FirstName]=@FirstName, [Title]=@Title, [Address]=@Address, [City]=@City, [Region]=@Region, [PostalCode]=@PostalCode, [Country]=@Country Where [EmployeeID]=@EmployeeID" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>
.NET Framework のセキュリティ
継承階層System.EventArgs
System.Web.UI.WebControls.FormViewUpdatedEventArgs
スレッド セーフ
プラットフォーム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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照FormViewUpdatedEventArgs コンストラクタ
アセンブリ: System.Web (system.web.dll 内)
構文Dim affectedRows As Integer Dim e As Exception Dim instance As New FormViewUpdatedEventArgs(affectedRows, e)
解説このコンストラクタを使用して、FormViewUpdatedEventArgs クラスの新しいインスタンスを初期化します。
FormViewUpdatedEventArgs クラスのインスタンスの初期プロパティ値を次の表に示します。
| AffectedRows | affectedRows パラメータの値。 |
| ExceptionHandled | |
| KeepInEditMode |
メモ |
|---|
プラットフォーム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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照FormViewUpdatedEventArgs プロパティ
パブリック プロパティ| 名前 | 説明 | |
|---|---|---|
| AffectedRows | 更新操作の影響を受けた行の数を取得します。 |
| Exception | 更新操作中に例外が発生した場合は、その例外を取得します。 |
| ExceptionHandled | 更新操作中に発生した例外がイベント ハンドラで処理されたかどうかを示す値を取得または設定します。 |
| KeepInEditMode | 更新操作後に FormView コントロールを編集モードのまま維持するかどうかを示す値を取得または設定します。 |
| Keys | 更新されたレコードの元のキー フィールドの名前と値のペアが格納されているディクショナリを取得します。 |
| NewValues | 更新されたレコードの新しいフィールドの名前と値のペアが格納されているディクショナリを取得します。 |
| OldValues | 更新されたレコードの元のキー以外のフィールドの名前と値のペアが格納されているディクショナリを取得します。 |
参照FormViewUpdatedEventArgs メソッド
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
| GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
| GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
| ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
| ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |
プロテクト メソッド| 名前 | 説明 | |
|---|---|---|
| Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
| MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
参照FormViewUpdatedEventArgs メンバ
FormViewUpdatedEventArgs データ型で公開されるメンバを以下の表に示します。
パブリック コンストラクタ
パブリック プロパティ| 名前 | 説明 | |
|---|---|---|
| AffectedRows | 更新操作の影響を受けた行の数を取得します。 |
| Exception | 更新操作中に例外が発生した場合は、その例外を取得します。 |
| ExceptionHandled | 更新操作中に発生した例外がイベント ハンドラで処理されたかどうかを示す値を取得または設定します。 |
| KeepInEditMode | 更新操作後に FormView コントロールを編集モードのまま維持するかどうかを示す値を取得または設定します。 |
| Keys | 更新されたレコードの元のキー フィールドの名前と値のペアが格納されているディクショナリを取得します。 |
| NewValues | 更新されたレコードの新しいフィールドの名前と値のペアが格納されているディクショナリを取得します。 |
| OldValues | 更新されたレコードの元のキー以外のフィールドの名前と値のペアが格納されているディクショナリを取得します。 |
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
| GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
| GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
| ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
| ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |
プロテクト メソッド| 名前 | 説明 | |
|---|---|---|
| Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
| MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
参照- FormViewUpdatedEventArgsのページへのリンク
.gif)