2013-01-03 2 views
0

문제점 : FormData를 사용하여 업데이트 메서드를 호출 할 때 ObjectDataSource가 (기본적으로) 빈 데이터 개체를 통해 전송합니다. 값이있는 유일한 필드는 FormView의 DataKeyNames 속성에 나열된 필드입니다.FormView를 사용하여 ObjectDataSource를 업데이트 할 때 빈 매개 변수가 발생했습니다. RadPanelBar

참고 : FormView 내에서 Telerik RadPanelBars를 사용하고 있습니다.

나는 FormView의 ItemUpdating 이벤트에 휴식

, 나는 볼이 :

  • 키 목록은 바로 DataKeyNames 속성과 같은 두 가지 항목을 가지고 있습니다. 좋아 보인다.
  • OldValues ​​및 NewValues ​​사전이 비어 있습니다. 그들은 그들 안에 아무 것도 가지고 있지 않습니다. null 값을 가진 필드 이름이 아닙니다. 문자 그대로 항목이없는 빈 목록입니다.

ObjectDataSource의 Updating 이벤트가 발생하면 DataKeyNames 필드와 일치하는 두 개의 값만있는 ProjectTask 개체가 표시됩니다. 다른 모든 필드는 null입니다. 중요

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DataObjectTypeName="ProjectBilling.Business.Data.ProjectTask" 
     SelectMethod="GetProjectTask" TypeName="ProjectBilling.Business.Data.ProjectTask" UpdateMethod="UpdateProjectTask" OldValuesParameterFormatString="original_{0}" OnUpdating="ObjectDataSource1_Updating"> 
     <SelectParameters> 
      <asp:Parameter DefaultValue="0" Name="projectTaskId" Type="Int32" /> 
     </SelectParameters> 
    </asp:ObjectDataSource> 
    <asp:FormView ID="FormView1" runat="server" DataSourceID="ObjectDataSource1" DefaultMode="Edit" 
     DataKeyNames="Id,Timestamp" OnItemUpdated="FormView1_ItemUpdated" Width="600px"> 

: 여기

public static void UpdateProjectTask(ProjectTask projectTask) { var dc = new PrbDataContext(); dc.ProjectTasks.Attach(projectTask, true); dc.SubmitChanges(); } 

이 (가) ObjectDataSource를하고 FormView에 대한 마크 업입니다 : 여기

은 업데이트 내가 사용 방법 내가 Telerik 컨트롤을 사용하고
그들은 필요 이상한 구속력.

DataBinder.Eval(FormView1.DataItem, "TaskTemplateId") 

은 또한 더 나은 결과를 얻을 수 있지 않습니다 방법, 시도 :

((ProjectBilling.Business.Data.ProjectTask)(Container.DataItem ?? new ProjectBilling.Business.Data.ProjectTask())).BillNarrative 

제어가 검색 데이터 단지 벌금을; 나는 그것을 업데이트 할 수 없다.

여러분의 도움에 항상 감사드립니다. 여러분. Can’t get FormView values from ObjectDataSource on update

답변

0

가 Telerik의 RadPanelBar 마크 업에서 데이터 바인딩을 지원하지 않습니다

이 동료 비슷한 문제가있는 것 같다. 그것이 empy OldValues ​​및 NewValues ​​컬렉션의 원인입니다.

참고 :이 질문을 끝내기까지 영원히 생각했기 때문에 여기에 남겨 두십시오. Telerik 지원은 마침내 RadPanelBar 내에서 데이터 바인딩이 작동하지 않는다는 사실을 소유해야했습니다.