2012-06-19 2 views
0

와 형태 매개 변수와 일치하는 ObjectDataSource를 지시하는 방법 : UpdateMethod하여 InsertMethod로 구성<strong>ObjectDataSource를</strong> 내가 선택한 다음 한 작업 할 때 메서드 매개 변수

<asp:DropDownList runat="server" SelectedValue='<%# Bind("InceptionCycle.ID") %>' ID="InceptionCycle" 
    DataSourceID="odsAllCycles" DataTextField="CycleName" DataValueField="ID" AppendDataBoundItems="true"> 
    <asp:ListItem Text="Choose..." Value=""></asp:ListItem> 
</asp:DropDownList> 

ObjectDataSource를합니다. 그러나 삽입/업데이트 메서드에는 InceptionCycle (InceptionCycle.ID은 유효한 식별자가 아니기 때문에) 이름의 매개 변수가 있습니다.

ObjectDataSource를가 InceptionCycle.ID 형식 매개 변수를 사용하고 InceptionCycle 메서드 매개 변수로 배치하도록 지시 할 수있는 방법이 있나요?

여기에 전체 ObjectDataSource를 코드입니다 :

<asp:ObjectDataSource ID="ods" runat="server" TypeName="Sources.DomainSource" 
    SelectMethod="FindById" InsertMethod="Add" UpdateMethod="Update" 
    OnInserted="ods_Inserted" OnUpdated="ods_Updated"> 
    <SelectParameters> 
     <asp:QueryStringParameter Name="id" QueryStringField="id" /> 
    </SelectParameters> 
    <InsertParameters> 
     <asp:Parameter ConvertEmptyStringToNull="true" Name="ShortTitle" /> 
     <asp:Parameter ConvertEmptyStringToNull="true" Name="WMRId" /> 
     <asp:Parameter ConvertEmptyStringToNull="true" Name="MDSId" /> 
     <asp:Parameter ConvertEmptyStringToNull="true" Name="Status" /> 
    </InsertParameters> 
    <UpdateParameters> 
     <asp:QueryStringParameter Name="id" QueryStringField="id" /> 
     <asp:Parameter ConvertEmptyStringToNull="true" Name="ShortTitle" /> 
     <asp:Parameter ConvertEmptyStringToNull="true" Name="WMRId" /> 
     <asp:Parameter ConvertEmptyStringToNull="true" Name="MDSId" /> 
     <asp:Parameter ConvertEmptyStringToNull="true" Name="Status" /> 
    </UpdateParameters> 
</asp:ObjectDataSource> 
+0

당신이 그 ObjectDataSource를에 제어 매개 변수를 지정해야합니다 것 같다. ObjectDataSource 정의를 붙여 넣으십시오. –

+0

오, 내 추가/업데이트 메서드는 개체를 매개 변수로 사용하지 않지만 단순한 형식 (int/string) – dragonfly

답변

0

당신은 최고 수준의 속성을 바인딩 구문을 사용할 수 있습니다 - 그것은 중첩 된 속성 (VS 2012 것입니다,하지만)를 지원하지 않습니다.

그래서, 당신은 다음과 같은 데이터 소스에 새 속성을 만들고이 새로운 속성에 SelectedValue를 바인딩해야하는 대신

public string InceptionCycleID 
{ 
     get 
     { 
      return InceptionCycle.ID; 
     } 
     set 
     { 
      InceptionCycle.ID = value; 
     } 
} 
+0

실제로 컨트롤을 선택하기위한 바인딩 값은 문제가 아니며 질문에 언급되지 않았습니다. 게다가, 폼이로드 될 때 SelectedValue가 올바르게 바인딩됩니다. – dragonfly