ObjectDataSourceView.UpdateMethod 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定 ObjectDataSourceView 物件叫用以更新資料之方法或函式的名稱。
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
屬性值
字串,表示 ObjectDataSourceView 用於更新資料之方法或函式的名稱。 預設為空字串 ("")。
範例
下列程式碼範例示範如何使用控制項、 TextBox 控制項和數 ObjectDataSource 個 DropDownList 控制項來更新資料。 會顯示 DropDownList 的名稱 NorthwindEmployee
,而 TextBox 控制項則用來輸入和更新位址資訊。
UpdateParameters由於集合包含 ControlParameter 系結至 所選取值的 DropDownList 物件,因此只有在選取員工之後,才會啟用觸發 Update 作業的按鈕。
<%@ 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>
備註
物件 ObjectDataSourceView 假設 屬性所 UpdateMethod 識別的方法會一次執行一個更新,而不是在批次中執行。
方法可以是 Visual Basic) 方法中的實例方法或 static
(Shared
。 如果是實例方法,則每次呼叫 屬性所 UpdateMethod 指定的方法時,都會建立和終結商務物件。 您可以處理 ObjectCreated 事件,以在呼叫 屬性所 UpdateMethod 指定的 方法之前,使用商務物件。 您也可以處理 ObjectDisposing 呼叫 方法之後 UpdateMethod 所引發的事件。
Dispose
只有在商務物件實作 IDisposable interface.) 如果 方法是 static
Visual Basic) 方法中的 (Shared
,則永遠不會建立商務物件,而且您無法處理這些事件時,才會呼叫 (。
如果物件使用的商務物件 ObjectDataSource 會實作多個具有相同名稱的方法或函式, (方法多載) ,資料來源控制項會嘗試根據一組條件叫用正確的方法,包括集合中的 UpdateParameters 參數。 如果集合中的 UpdateParameters 參數不符合 屬性所 UpdateMethod 指定方法的簽章,資料來源會擲回例外狀況。
如需詳細資訊,請參閱ObjectDataSource.UpdateMethod。
屬性的值 UpdateMethod 會儲存在檢視狀態中。