ObjectDataSourceView.UpdateParameters Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene la colección de parámetros que utiliza el método UpdateMethod.
public:
property System::Web::UI::WebControls::ParameterCollection ^ UpdateParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
public System.Web.UI.WebControls.ParameterCollection UpdateParameters { get; }
member this.UpdateParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property UpdateParameters As ParameterCollection
Valor de propiedad
ParameterCollection que contiene los parámetros utilizados por la propiedad UpdateMethod.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar un DropDownList control, TextBox controles y varios ObjectDataSource controles para actualizar los datos. DropDownList muestra el nombre de , NorthwindEmployee
mientras que los TextBox controles se usan para escribir y actualizar la información de la dirección. Dado que la UpdateParameters colección contiene un ControlParameter objeto enlazado al valor seleccionado de DropDownList, el botón que desencadena la Update operación solo se habilita después de seleccionar un empleado.
<%@ 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>
Comentarios
Los nombres y tipos de los parámetros contenidos en la UpdateParameters colección deben coincidir con los nombres y tipos de los parámetros que se encuentran en el método especificado por la firma de UpdateMethod propiedad. Los nombres de parámetro se ven afectados por la OldValuesParameterFormatString propiedad y distinguen mayúsculas de minúsculas. Cuando se trabaja con controles enlazados a datos que proporcionan parámetros, como GridView y DetailsView, el ObjectDataSource control combina automáticamente los parámetros que se especifican explícitamente en la colección con esos parámetros proporcionados por el control enlazado a datos. Para obtener más información, vea ObjectDataSource.UpdateMethod.