ObjectDataSourceView.OnUpdating メソッド
アセンブリ: System.Web (system.web.dll 内)

Dim e As ObjectDataSourceMethodEventArgs Me.OnUpdating(e)

イベントが発生すると、デリゲートを使用してイベント ハンドラが呼び出されます。詳細については、「イベントの利用」を参照してください。
OnUpdating メソッドを使用すると、デリゲートを結び付けずに、派生クラスでイベントを処理することもできます。派生クラスでイベントを処理する場合は、この手法をお勧めします。
継承時の注意 派生クラスで OnUpdating メソッドをオーバーライドする場合は、登録されているデリゲートがイベントを受け取ることができるように、基本クラスの OnUpdating メソッドを呼び出してください。
DropDownList コントロール、TextBox コントロール、および複数の ObjectDataSource コントロールを使用してデータを更新する方法を次のコード例に示します。TextBox コントロールがアドレス情報の入力と更新に使用されるのに対し、DropDownList は、NorthwindEmployee の名前を表示します。UpdateParameters コレクションには、DropDownList で選択された値に関連付けられた ControlParameter オブジェクトが格納されているため、Update 操作を発生させるボタンは、従業員を選択するまで有効になりません。
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %> <%@ Page language="vb" %> <%@ Import namespace="Samples.AspNet.VB" %> <Script runat="server"> ' Add parameters and initialize the user interface ' only if an employee is selected. Private Sub Page_Load(sender As Object, e As EventArgs) ' Be sure the text boxes are initialized with ' data from the currently selected employee. Dim selectedEmployee As NorthwindEmployee selectedEmployee = EmployeeLogic.GetEmployee(DropDownList1.SelectedValue) If Not selectedEmployee Is Nothing Then AddressBox.Text = selectedEmployee.Address CityBox.Text = selectedEmployee.City PostalCodeBox.Text = selectedEmployee.PostalCode Button1.Enabled = True Else Button1.Enabled = False End If End Sub ' Page_Load ' Press the button to update. Private Sub Btn_UpdateEmployee (sender As Object, e As CommandEventArgs) ObjectDataSource2.Update() End Sub ' Btn_UpdateEmployee ' Dynamically add parameters to the InputParameters collection. Private Sub NorthwindEmployeeUpdating(source As Object, e As ObjectDataSourceMethodEventArgs) ' The names of the parameters are the same as ' the variable names for the method that is invoked to ' perform the Update. The InputParameters collection is ' an IDictionary collection of name/value pairs, ' not a ParameterCollection. e.InputParameters.Add("anID", DropDownList1.SelectedValue) e.InputParameters.Add("anAddress" ,AddressBox.Text) e.InputParameters.Add("aCity" ,CityBox.Text) e.InputParameters.Add("aPostalCode",PostalCodeBox.Text) End Sub ' NorthwindEmployeeUpdating </Script> <html> <head> <title>ObjectDataSource - VB Example</title> </head> <body> <form id="Form1" method="post" runat="server"> <!-- The DropDownList is bound to the first ObjectDataSource. --> <asp:objectdatasource id="ObjectDataSource1" runat="server" selectmethod="GetAllEmployees" typename="Samples.AspNet.VB.EmployeeLogic" /> <p><asp:dropdownlist id="DropDownList1" runat="server" datasourceid="ObjectDataSource1" datatextfield="FullName" datavaluefield="EmpID" autopostback="True" /></p> <!-- The second ObjectDataSource performs the Update. This preserves the state of the DropDownList, which otherwise would rebind when the DataSourceChanged event is raised as a result of an Update operation. --> <asp:objectdatasource id="ObjectDataSource2" runat="server" updatemethod="UpdateEmployeeWrapper" onupdating="NorthwindEmployeeUpdating" typename="Samples.AspNet.VB.EmployeeLogic" /> <p><asp:textbox id="AddressBox" runat="server" /></p> <p><asp:textbox id="CityBox" runat="server" /></p> <p><asp:textbox id="PostalCodeBox" runat="server" /></p> <asp:button id="Button1" runat="server" text="Update Employee" oncommand="Btn_UpdateEmployee" /> </form> </body> </html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %> <%@ Page language="c#" %> <%@ Import namespace="Samples.AspNet.CS" %> <Script runat="server"> // Add parameters and initialize the user interface // only if an employee is selected. private void Page_Load(object sender, EventArgs e) { // Be sure the text boxes are initialized with // data from the currently selected employee. NorthwindEmployee selectedEmployee = EmployeeLogic.GetEmployee(DropDownList1.SelectedValue); if (selectedEmployee != null) { AddressBox.Text = selectedEmployee.Address; CityBox.Text = selectedEmployee.City; PostalCodeBox.Text = selectedEmployee.PostalCode; Button1.Enabled = true; } else { Button1.Enabled = false; } } // Press the button to update. private void Btn_UpdateEmployee (object sender, CommandEventArgs e) { ObjectDataSource2.Update(); } // Dynamically add parameters to the InputParameters collection. private void NorthwindEmployeeUpdating(object source, ObjectDataSourceMethodEventArgs e) { // The names of the parameters are the same as // the variable names for the method that is invoked to // perform the Update. The InputParameters collection is // an IDictionary collection of name/value pairs, // not a ParameterCollection. e.InputParameters.Add("anID", DropDownList1.SelectedValue); e.InputParameters.Add("anAddress" ,AddressBox.Text); e.InputParameters.Add("aCity" ,CityBox.Text); e.InputParameters.Add("aPostalCode",PostalCodeBox.Text); } </Script> <html> <head> <title>ObjectDataSource - C# Example</title> </head> <body> <form id="Form1" method="post" runat="server"> <!-- The DropDownList is bound to the first ObjectDataSource. --> <asp:objectdatasource id="ObjectDataSource1" runat="server" selectmethod="GetAllEmployees" typename="Samples.AspNet.CS.EmployeeLogic" /> <p><asp:dropdownlist id="DropDownList1" runat="server" datasourceid="ObjectDataSource1" datatextfield="FullName" datavaluefield="EmpID" autopostback="True" /></p> <!-- The second ObjectDataSource performs the Update. This preserves the state of the DropDownList, which otherwise would rebind when the DataSourceChanged event is raised as a result of an Update operation. --> <asp:objectdatasource id="ObjectDataSource2" runat="server" updatemethod="UpdateEmployeeWrapper" onupdating="NorthwindEmployeeUpdating" typename="Samples.AspNet.CS.EmployeeLogic" /> <p><asp:textbox id="AddressBox" runat="server" /></p> <p><asp:textbox id="CityBox" runat="server" /></p> <p><asp:textbox id="PostalCodeBox" runat="server" /></p> <asp:button id="Button1" runat="server" text="Update Employee" oncommand="Btn_UpdateEmployee" /> </form> </body> </html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL" Assembly="Samples.AspNet.JSL" %> <%@ Page Language="VJ#" %> <%@ Import namespace="Samples.AspNet.JSL" %> <Script runat="server"> // Add parameters and initialize the user interface // only if an employee is selected. private void Page_Load(Object sender, System.EventArgs e) throws NorthwindDataException { // Be sure the text boxes are initialized with // data from the currently selected employee. NorthwindEmployee selectedEmployee = EmployeeLogic.GetEmployee(DropDownList1.get_SelectedValue()); if (selectedEmployee != null) { AddressBox.set_Text(selectedEmployee.get_Address()); CityBox.set_Text(selectedEmployee.get_City()); PostalCodeBox.set_Text(selectedEmployee.get_PostalCode()); Button1.set_Enabled(true); } else { Button1.set_Enabled(false); } } //Page_Load // Press the button to update. private void Btn_UpdateEmployee(Object sender, CommandEventArgs e) { ObjectDataSource2.Update(); } //Btn_UpdateEmployee // Dynamically add parameters to the InputParameters collection. private void NorthwindEmployeeUpdating(Object source, ObjectDataSourceMethodEventArgs e) { // The names of the parameters are the same as // the variable names for the method that is invoked to // perform the Update. The InputParameters collection is // an IDictionary collection of name/value pairs, // not a ParameterCollection. e.get_InputParameters().Add("anID", DropDownList1.get_SelectedValue()); e.get_InputParameters().Add("anAddress", AddressBox.get_Text()); e.get_InputParameters().Add("aCity", CityBox.get_Text()); e.get_InputParameters().Add("aPostalCode", PostalCodeBox.get_Text()); } //NorthwindEmployeeUpdating </Script> <html> <head> <title>ObjectDataSource - VJ# Example</title> </head> <body> <form id="Form1" method="post" runat="server"> <!-- The DropDownList is bound to the first ObjectDataSource. --> <asp:objectdatasource id="ObjectDataSource1" runat="server" selectmethod="GetAllEmployees" typename="Samples.AspNet.JSL.EmployeeLogic" /> <p><asp:dropdownlist id="DropDownList1" runat="server" datasourceid="ObjectDataSource1" datatextfield="FullName" datavaluefield="EmpID" autopostback="True" /></p> <!-- The second ObjectDataSource performs the Update. This preserves the state of the DropDownList, which otherwise would rebind when the DataSourceChanged event is raised as a result of an Update operation. --> <asp:objectdatasource id="ObjectDataSource2" runat="server" updatemethod="UpdateEmployeeWrapper" onupdating="NorthwindEmployeeUpdating" typename="Samples.AspNet.JSL.EmployeeLogic" /> <p><asp:textbox id="AddressBox" runat="server" /></p> <p><asp:textbox id="CityBox" runat="server" /></p> <p><asp:textbox id="PostalCodeBox" runat="server" /></p> <asp:button id="Button1" runat="server" text="Update Employee" oncommand="Btn_UpdateEmployee" /> </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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- ObjectDataSourceView.OnUpdating メソッドのページへのリンク