|
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
|
Tradução
Original
|
ObjectDataSource.UpdateParameters Propriedade
Assembly: System.Web (em System.Web. dll)
[PersistenceModeAttribute(PersistenceMode.InnerProperty)] public ParameterCollection UpdateParameters { get; }
Valor da propriedade
Tipo: System.Web.UI.WebControls.ParameterCollection Observação: |
|---|
Observação de segurança: |
|---|
Observação de segurança: |
|---|
<%@ Register TagPrefix= Namespace= Assembly= %>
<%@ Page language= %>
<%@ Import = %>
<!DOCTYPE html PUBLIC "-
"http:
<script runat=>
Page_Load(object sender, EventArgs e)
{
NorthwindEmployee selectedEmployee = EmployeeLogic.GetEmployee(DropDownList1.SelectedValue);
(selectedEmployee != ) {
AddressBox.Text = selectedEmployee.Address;
CityBox.Text = selectedEmployee.City;
PostalCodeBox.Text = selectedEmployee.PostalCode;
Button1.Enabled = ;
}
{
Button1.Enabled = ;
}
}
Btn_UpdateEmployee (object sender, CommandEventArgs e) {
ObjectDataSource2.Update();
}
</script>
<html xmlns="http:
<head>
<title>ObjectDataSource - C# Example</title>
</head>
<body>
<form id= method= runat=>
<!-- The DropDownList bound to the first ObjectDataSource. -->
<asp:objectdatasource
id=
runat=
selectmethod=
typename= />
<p><asp:dropdownlist
id=
runat=
datasourceid=
datatextfield=
datavaluefield=
autopostback= /></p>
<!-- The second ObjectDataSource performs the Update. This
preserves the state of the DropDownList, which otherwise
would rebind when the DataSourceChanged
raised a result of an Update operation. -->
<!-- Security Note: The ObjectDataSource uses a FormParameter,
Security Note: which does not perform validation of input the client.
Security Note: To validate the value of the FormParameter,
Security Note: handle the Updating . -->
<asp:objectdatasource
id=
runat=
updatemethod=
typename=>
<updateparameters>
<asp:controlparameter name= controlid= propertyname= />
<asp:formparameter name= formfield= />
<asp:formparameter name= formfield= />
<asp:formparameter name= formfield= />
</updateparameters>
</asp:objectdatasource>
<p><asp:textbox
id=
runat= /></p>
<p><asp:textbox
id=
runat= /></p>
<p><asp:textbox
id=
runat= /></p>
<asp:button
id=
runat=
text=
oncommand= />
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL" Assembly="Samples.AspNet.JSL" %>
<%@ Page language="VJ#" %>
<%@ Import namespace="Samples.AspNet.JSL" %>
<!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) 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
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<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"
typename="Samples.AspNet.JSL.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>
Samples.AspNet.CS {
System;
System.Collections;
System.Configuration;
System.Data;
System.Data.SqlClient;
System.Web.UI;
System.Web.UI.WebControls;
EmployeeLogic {
ICollection GetAllEmployees () {
ArrayList al = ArrayList();
ConnectionStringSettings cts = ConfigurationManager.ConnectionStrings[];
SqlDataSource sds
= SqlDataSource(cts.ConnectionString,
);
{
IEnumerable IDs = sds.Select(DataSourceSelectArguments.Empty);
IEnumerator enumerator = IDs.GetEnumerator();
(enumerator.MoveNext()) {
DataRowView row = enumerator.Current DataRowView;
string id = row[].ToString();
NorthwindEmployee nwe = NorthwindEmployee(id);
al.Add(nwe);
}
}
{
sds.Dispose();
}
al;
}
NorthwindEmployee GetEmployee(object anID) {
ArrayList al = GetAllEmployees() ArrayList;
IEnumerator enumerator = al.GetEnumerator();
(enumerator.MoveNext()) {
NorthwindEmployee ne = enumerator.Current NorthwindEmployee;
(ne.EmpID.Equals(anID.ToString())) {
ne;
}
}
;
}
UpdateEmployee(NorthwindEmployee ne) {
retval = ne.Update();
(! retval) { NorthwindDataException(); }
}
UpdateEmployeeWrapper(string anID,
string anAddress,
string aCity,
string aPostalCode) {
NorthwindEmployee ne = NorthwindEmployee(anID);
ne.Address = anAddress;
ne.City = aCity;
ne.PostalCode = aPostalCode;
UpdateEmployee(ne);
}
}
NorthwindEmployee {
NorthwindEmployee (object anID) {
.ID = anID;
ConnectionStringSettings cts = ConfigurationManager.ConnectionStrings[];
SqlConnection conn = SqlConnection (cts.ConnectionString);
SqlCommand sc =
SqlCommand( +
+
,
conn);
sc.Parameters.Add( SqlParameter(,SqlDbType.Int)).Value = Int32.Parse(anID.ToString());
SqlDataReader sdr = ;
{
conn.Open();
sdr = sc.ExecuteReader();
(sdr != && sdr.Read()) {
.firstName = sdr[].ToString();
.lastName = sdr[].ToString();
.address = sdr[].ToString();
.city = sdr[].ToString();
.postalCode = sdr[].ToString();
}
{
NorthwindDataException();
}
}
{
{
(sdr != ) sdr.Close();
conn.Close();
}
(SqlException) {
;
}
}
}
object ID;
object EmpID {
{ ID; }
}
string lastName;
string LastName {
{ lastName = value; }
}
string firstName;
string FirstName {
{ firstName = value; }
}
string FullName {
{ firstName + + lastName; }
}
string address;
string Address {
{ address; }
{ address = value; }
}
string city;
string City {
{ city; }
{ city = value; }
}
string postalCode;
string PostalCode {
{ postalCode; }
{ postalCode = value; }
}
Update () {
;
}
}
NorthwindDataException: Exception {
NorthwindDataException(string msg) : (msg) { }
}
}
package Samples.AspNet.JSL;
import System.*;
import System.Collections.*;
import System.Configuration.*;
import System.Data.*;
import System.Data.SqlClient.*;
import System.Web.UI.*;
import System.Web.UI.WebControls.*;
//
// EmployeeLogic is a stateless business object that encapsulates
// the operations one can perform on a NorthwindEmployee object.
//
public class EmployeeLogic
{
// Returns a collection of NorthwindEmployee objects.
public static ICollection GetAllEmployees() throws NorthwindDataException
{
ArrayList al = new ArrayList();
// Use the SqlDataSource class to wrap the
// ADO.NET code required to query the database.
ConnectionStringSettings cts =
ConfigurationManager.get_ConnectionStrings().
get_Item("NorthwindConnection");
SqlDataSource sds = new SqlDataSource(cts.get_ConnectionString(),
"SELECT EmployeeID FROM Employees");
try {
IEnumerable ids = sds.Select(DataSourceSelectArguments.get_Empty());
// Iterate through the Enumeration and create a
// NorthwindEmployee object for each ID.
IEnumerator enumerator = ids.GetEnumerator();
while (enumerator.MoveNext()) {
// The IEnumerable contains DataRowView objects.
DataRowView row = (DataRowView)enumerator.get_Current();
String idObj = row.get_Item("EmployeeID").ToString();
NorthwindEmployee nwe = new NorthwindEmployee(idObj);
// Add the NorthwindEmployee object to the collection.
al.Add(nwe);
}
}
finally {
// If anything strange happens, clean up.
sds.Dispose();
}
return al;
} //GetAllEmployees
public static NorthwindEmployee GetEmployee(Object anID)
throws NorthwindDataException
{
ArrayList al = (ArrayList)GetAllEmployees();
IEnumerator enumerator = al.GetEnumerator();
while (enumerator.MoveNext()) {
// The IEnumerable contains initialized NorthwindEmployee objects.
NorthwindEmployee ne = (NorthwindEmployee)enumerator.get_Current();
if (ne.get_EmpID().Equals(anID.ToString())) {
return ne;
}
}
return null;
} //GetEmployee
public static void UpdateEmployee(NorthwindEmployee ne)
throws NorthwindDataException
{
boolean retVal = ne.Update();
if (!(retVal)) {
throw new NorthwindDataException("Employee update failed.");
}
} //UpdateEmployee
// This method is added as a conveniece wrapper on the original
// implementation.
public static void UpdateEmployeeWrapper(String anID, String anAddress,
String aCity, String aPostalCode) throws NorthwindDataException
{
NorthwindEmployee ne = new NorthwindEmployee(anID);
ne.set_Address(anAddress);
ne.set_City(aCity);
ne.set_PostalCode(aPostalCode);
UpdateEmployee(ne);
} //UpdateEmployeeWrapper
// And so on...
} //EmployeeLogic
public class NorthwindEmployee
{
public NorthwindEmployee(Object anID) throws NorthwindDataException
{
this.id = anID;
ConnectionStringSettings cts =
ConfigurationManager.get_ConnectionStrings().
get_Item("NorthwindConnection");
SqlConnection conn = new SqlConnection(cts.get_ConnectionString());
SqlCommand sc = new SqlCommand(" SELECT FirstName,LastName,Address,"
+ "City,PostalCode " + " FROM Employees "
+ " WHERE EmployeeID = @empId", conn);
// Add the employee ID parameter and set its value.
sc.get_Parameters().Add(new SqlParameter("@empId", SqlDbType.Int)).
set_Value(anID.ToString());
SqlDataReader sdr = null;
try {
conn.Open();
sdr = sc.ExecuteReader();
// This is not a while loop. It only loops once.
if (sdr != null && sdr.Read()) {
// The IEnumerable contains DataRowView objects.
this.firstName = sdr.get_Item("FirstName").ToString();
this.lastName = sdr.get_Item("LastName").ToString();
this.address = sdr.get_Item("Address").ToString();
this.city = sdr.get_Item("City").ToString();
this.postalCode = sdr.get_Item("PostalCode").ToString();
}
else {
throw new NorthwindDataException("Data not loaded for"
+ " employee id.");
}
}
finally {
try {
if (sdr != null) {
sdr.Close();
}
conn.Close();
}
catch (SqlException exp) {
// Log an event in the Application Event Log.
}
}
} //NorthwindEmployee
private Object id;
/** @property
*/
public Object get_EmpID()
{
return id;
} //get_EmpID
private String lastName;
/** @property
*/
public void set_LastName(String value)
{
lastName = value;
} //set_LastName
private String firstName;
/** @property
*/
public void set_FirstName(String value)
{
firstName = value;
} //set_FirstName
/** @property
*/
public String get_FullName()
{
return firstName + " " + lastName;
} //get_FullName
private String address;
/** @property
*/
public String get_Address()
{
return address;
} //get_Address
/** @property
*/
public void set_Address(String value)
{
address = value;
} //set_Address
private String city;
/** @property
*/
public String get_City()
{
return city;
} //get_City
/** @property
*/
public void set_City(String value)
{
city = value;
} //set_City
private String postalCode;
/** @property
*/
public String get_PostalCode()
{
return postalCode;
} //get_PostalCode
/** @property
*/
public void set_PostalCode(String value)
{
postalCode = value;
} //set_PostalCode
public boolean Update()
{
// Implement Update logic.
return true;
} //Update
} //NorthwindEmployee
public class NorthwindDataException extends Exception
{
public NorthwindDataException(String msg)
{
super(msg);
} //NorthwindDataException
} //NorthwindDataException
Observação: