이것은 다소 이상합니다. 기본적으로 ASP.NET 동적 데이터를 사용하여 양식을 만들고 있는데, 이는 여러 사용자 정의 필드 템플릿을 활용할 것입니다.잘못된 시간에 동적 컨트롤로드 중입니까?
방금 FormView에 다른 필드를 추가했습니다.이 필드는 자체 사용자 지정 서식 파일이며 양식은 명백한 이유없이 해당 컨트롤을 두 번로드합니다. 나쁘지만 아직 처음으로 템플릿을로드 할 때 행이 준비되지 않았고 오류 메시지가 나타납니다.
Eval(), XPath() 및 Bind()와 같은 데이터 바인딩 방법은 데이터 바인딩 컨트롤
자식 객체를 얻기 위해 나는 LinqDataSource OnSelected 이벤트에 행 변수에 접근하고있어의 맥락 ... 이상한 부분에 대한 지금
: 나는 필드 약간의 순서를 변경하는 경우 문제를 일으키는 원인이 더 이상 두 번로드되지 않습니다.
의견이 있으십니까?
EDIT : 첫 번째로드에서 (행을 사용할 때 예외가 발생하는 경우) Page_Load가 호출되지만 두 번째 호출은 발생하지 않습니다. 그게 도움이된다면 ...
지금 당장은 예외를 잡아서 무시하면서 관리하지만, 실제 원인을 찾지 못하면 일이 깨질 것이라고 조금은 걱정합니다.
EDIT 2 : FindControl을 재귀 적으로 사용하여 페이지의 다른 컨트롤을 찾는 문제를 추적했습니다. 분명히 FindControl은 페이지 수명주기 이벤트 (적어도 page_load까지)를 발생시킬 수 있습니다 ... 그리고 이것은 페이지가 "로드되어야"하기 전에 발생하여 동적 데이터 인 "stuff"가 아직 준비되지 않았습니다.
제가 생각하기에, 당신은 페이지에 formview가 있고 LinviewDatasource에 formview 바인드가 있습니다. formview에 채우기를 원하는 몇 가지 사용자 정의/추가 필드가 있습니다. 레코드를 저장/업데이트하려면 다음을 수행해야합니다. custom/additinal 필드 값 ????? –
코드를 보여줄 수 있습니까? 어떻게 사용자 정의 템플릿을 추가 할 수 있습니까? –
기본 페이지에 FormView가 있고 동적 데이터 템플릿에는 자체 LinqDataSource가있는 FormView가 포함되어 있습니다. 나는 직접 사용자 지정 템플릿을 추가하지는 않지만 ASP.NET Dynamic Data 기능에 의해 추가되고 있습니다 ... 나는 메타 데이터 클래스에 UIHint를 설정하고 있습니다 ... 코드는 게시하기가 복잡하지만 아마 나중에 나중에 할 수 있습니다. – CodeRedick