ObjectDataSourceMethodEventArgs.InputParameters 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
비즈니스 개체 메서드 매개 변수 및 해당 값을 포함하는 컬렉션을 가져옵니다.
public:
property System::Collections::Specialized::IOrderedDictionary ^ InputParameters { System::Collections::Specialized::IOrderedDictionary ^ get(); };
public System.Collections.Specialized.IOrderedDictionary InputParameters { get; }
member this.InputParameters : System.Collections.Specialized.IOrderedDictionary
Public ReadOnly Property InputParameters As IOrderedDictionary
속성 값
IDictionary 비즈니스 개체 메서드 매개 변수 및 해당 값을 나타내는 이름/값 쌍입니다.
예제
다음 코드 예제에서는 컨트롤, TextBox 컨트롤 및 여러 ObjectDataSource 컨트롤을 사용하여 DropDownList 데이터를 업데이트하는 방법을 보여 줍니다. 이 컨트롤은 DropDownList 주소 정보를 입력하고 업데이트하는 데 사용되는 동안 TextBox Northwind Employee의 이름을 표시합니다. 속성에는 UpdateParameters 컨트롤의 DropDownList 선택한 값에 바인딩된 개체가 포함되어 ControlParameter 있으므로 메서드를 Update 트리거하는 단추는 직원이 선택된 후에만 사용하도록 설정됩니다.
이 예제에서는 메서드 앞에 NorthwindEmployeeUpdating 메서드를 호출하여 컬렉션에 Update 올바른 매개 변수와 값을 InputParameters 추가합니다. 설명된 대로 또는 선언적으로 매개 변수와 값을 동적으로 추가할 수 있습니다.
<%@ 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();
}
// 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 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. -->
<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.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
' 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 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. -->
<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>
설명
매개 변수는 참조 또는 값으로 비즈니스 개체 메서드에 전달할 수 있습니다. 개체를 ObjectDataSourceMethodEventHandler 사용하여 , Updating또는 InsertingDeleting 이벤트를 처리하는 Selecting경우 속성을 사용하여 이러한 매개 변수에 액세스하고 조작할 InputParameters 수 있습니다. 이 사전의 매개 변수를 변경하면 작업에 대해 호출되는 메서드 오버로드에 영향을 미칩니다. DataObjectTypeName 컨트롤의 속성이 설정되면 이 사전의 ObjectDataSource 항목에 대한 데이터 개체 속성만 수정할 수 있습니다. 매개 변수를 추가하거나 제거할 수 없습니다. 자세한 내용은 Delete를 참조하세요.
참조로 전달되는 매개 변수는 개체의 OutputParametersObjectDataSourceStatusEventArgs 속성에 반환됩니다.