문제점 : 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