ObjectDataSourceView.UpdateMethod Właściwość

Definicja

Pobiera lub ustawia nazwę metody lub funkcji, która ObjectDataSourceView wywołuje obiekt, aby zaktualizować dane.Gets or sets the name of the method or function that the ObjectDataSourceView object invokes to update data.

public:
 property System::String ^ UpdateMethod { System::String ^ get(); void set(System::String ^ value); };
public string UpdateMethod { get; set; }
member this.UpdateMethod : string with get, set
Public Property UpdateMethod As String

Wartość właściwości

String

Ciąg, który reprezentuje nazwę metody lub funkcji, której ObjectDataSourceView używa do aktualizowania danych.A string that represents the name of the method or function that the ObjectDataSourceView uses to update data. Wartością domyślną jest ciąg pusty ("").The default is an empty string ("").

Przykłady

Poniższy przykład kodu ilustruje sposób używania DropDownList kontrolki, TextBox kontrolek i kilku ObjectDataSource kontrolek do aktualizowania danych.The following code example demonstrates how to use a DropDownList control, TextBox controls, and several ObjectDataSource controls to update data. DropDownListWyświetla nazwę a NorthwindEmployee , podczas gdy TextBox kontrolki służą do wprowadzania i aktualizowania informacji o adresie.The DropDownList displays the name of a NorthwindEmployee, while the TextBox controls are used to enter and update address information. Ponieważ UpdateParameters Kolekcja zawiera obiekt, ControlParameter który jest powiązany z wybraną wartością DropDownList , przycisk wyzwalający Update operację jest włączony tylko po wybraniu pracownika.Because the UpdateParameters collection contains a ControlParameter object that is bound to the selected value of the DropDownList, the button that triggers the Update operation is enabled only after an employee is selected.

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<%@ Import namespace="Samples.AspNet.CS" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <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. -->

        <!-- Security Note: The ObjectDataSource uses a FormParameter,
             Security Note: which does not perform validation of input from the client.
             Security Note: To validate the value of the FormParameter,
             Security Note: handle the Updating event. -->

        <asp:objectdatasource
          id="ObjectDataSource2"
          runat="server"
          updatemethod="UpdateEmployeeWrapper"
          typename="Samples.AspNet.CS.EmployeeLogic">
          <updateparameters>
            <asp:controlparameter name="anID" controlid="DropDownList1" propertyname="SelectedValue" />
            <asp:formparameter name="anAddress" formfield="AddressBox" />
            <asp:formparameter name="aCity" formfield="CityBox" />
            <asp:formparameter name="aPostalCode" formfield="PostalCodeBox" />
          </updateparameters>
        </asp:objectdatasource>

        <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.VB" Assembly="Samples.AspNet.VB" %>
<%@ Page language="vb" %>
<%@ Import namespace="Samples.AspNet.VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <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. -->

        <!-- Security Note: The ObjectDataSource uses a FormParameter,
             Security Note: which does not perform validation of input from the client.
             Security Note: To validate the value of the FormParameter,
             Security Note: handle the Updating event. -->

        <asp:objectdatasource
          id="ObjectDataSource2"
          runat="server"
          updatemethod="UpdateEmployeeWrapper"
          typename="Samples.AspNet.VB.EmployeeLogic">
          <updateparameters>
            <asp:controlparameter name="anID" controlid="DropDownList1" propertyname="SelectedValue" />
            <asp:formparameter name="anAddress" formfield="AddressBox" />
            <asp:formparameter name="aCity" formfield="CityBox" />
            <asp:formparameter name="aPostalCode" formfield="PostalCodeBox" />
          </updateparameters>
        </asp:objectdatasource>

        <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>

Uwagi

ObjectDataSourceViewObiekt zakłada, że metoda, która jest identyfikowana przez UpdateMethod Właściwość, wykonuje aktualizacje pojedynczo, a nie w partii.The ObjectDataSourceView object assumes that the method that is identified by the UpdateMethod property performs updates one at a time, rather than in a batch.

Metodą może być metoda wystąpienia lub static Shared Metoda (w Visual Basic).The method can be an instance method or a static (Shared in Visual Basic) method. Jeśli jest to metoda wystąpienia, obiekt biznesowy jest tworzony i niszczony za każdym razem, gdy wywoływana jest metoda określona przez UpdateMethod Właściwość.If it is an instance method, the business object is created and destroyed each time the method specified by the UpdateMethod property is called. Możesz obsłużyć ObjectCreated zdarzenie do pracy z obiektem biznesowym przed wywołaniem metody określonej przez UpdateMethod Właściwość.You can handle the ObjectCreated event to work with the business object before the method specified by the UpdateMethod property is called. Możesz również obsłużyć ObjectDisposing zdarzenie, które jest wywoływane po UpdateMethod wywołaniu metody.You can also handle the ObjectDisposing event that is raised after the UpdateMethod method is called. ( Dispose jest wywoływana, tylko wtedy, gdy obiekt biznesowy implementuje IDisposable interfejs). Jeśli metoda jest static Shared metodą (w Visual Basic), obiekt biznesowy nigdy nie jest tworzony i nie będzie można obsługiwać tych zdarzeń.(Dispose is called, only if the business object implements the IDisposable interface.) If the method is a static (Shared in Visual Basic) method, the business object is never created and you cannot handle these events.

Jeśli obiekt biznesowy, ObjectDataSource z którym działa obiekt, zawiera implementację więcej niż jednej metody lub funkcji o tej samej nazwie (przeciążenia metod), kontrola źródła danych próbuje wywołać poprawną wartość z uwzględnieniem zestawu warunków, w tym parametrów w UpdateParameters kolekcji.If the business object that the ObjectDataSource object works with implements more than one method or function with the same name (method overloads), the data source control attempts to invoke the correct one according to a set of conditions, including the parameters in the UpdateParameters collection. Jeśli parametry w UpdateParameters kolekcji nie są zgodne z podpisem metody określonej przez UpdateMethod Właściwość, źródło danych zgłasza wyjątek.If the parameters in the UpdateParameters collection do not match those of the signature of the method specified by the UpdateMethod property, the data source throws an exception.

Aby uzyskać więcej informacji, zobacz ObjectDataSource.UpdateMethod.For more information, see ObjectDataSource.UpdateMethod.

Wartość UpdateMethod właściwości jest przechowywana w stanie widoku.The value of the UpdateMethod property is stored in view state.

Dotyczy

Zobacz też