2009-07-08 2 views
0

RadGrid를 사용하여 다양한 xml 파일에서 수집 된 데이터를 표시합니다. 추가 데이터를 보거나 편집 할 수있는 EditFormTemplate을 정의했습니다. 이제 컨트롤을이 템플릿에 추가 할 때마다 디자이너가 designer.cs 코드 숨김 파일에 필요한 컨트롤을 추가하지 않습니다. 왜?Visual Studio 2008은 Telerik RadGrid에 추가 할 때 디자이너 파일에 컨트롤을 추가하지 않습니다. EditFormTemplate

편집 : 가장 구체적으로, 미리 선택 값으로 초기화하려는 asp : DropDownList가 있습니다. 나는 CodeBehind의 PageLoad에서, 그리고 컨트롤의 onLoad와 onLoad에 바인딩 된 별도의 EventHandler에서도이 작업을 시도했다. 두 함수 모두 호출되지만 코드 숨김에 대한 컨트롤이 "존재하지 않는 것"입니다.

FindControl을 사용하여 결과를 DropDownList 개체로 캐스팅했으나 null을 반환합니다.

+0

디자이너가 컨트롤을 디자이너에 추가합니까? 그렇다면 하나 추가하고 저장하고 모든 파일을 닫은 다음 디자이너에서 페이지를 다시 엽니 다. 추가 된 컨트롤이 있는지 확인하십시오. –

+0

코드 숨김에서 컨트롤에 액세스 할 수 없다는 것을 의미합니까? 그렇다면 FindControl을 사용하여이 작업을 수행해야합니다. –

+0

@ John Saunders 예, 컨트롤이 디자인 뷰에 추가됩니다. 그러나 디자이너가 만든 부분 클래스 파일에는 추가되지 않습니다. 닫기 및 다시 열기가 문제를 해결하는 것은 아닙니다. 그런데 aspx의 코드도 생성됩니다. @Sean Molam, 정확하게. 이 소리가 아주 좋았지 만 다른 System.NullReferenceException을 생성합니다. 개체 참조가 개체의 인스턴스로 설정되지 않았습니다. "* ASP.NET 프로그래밍을 시작한 이래로 그다지 싫어했습니다. –

답변

0

다음과 같이 이루어집니다 : 나는 ASP의이 속성을 놓친 이유
<asp:DropDownList SelectedValue='<%# Bind("codeBehindVariable") %>' runat="server" ID="id" />
난 그냥 궁금 : 드롭 다운리스트를 내가 솔루션을 찾고 때.

0

웹 사이트 (파일 -> 새 웹 사이트) 또는 웹 응용 프로그램 프로젝트 (파일 -> 새 프로젝트)를 만들었습니까? 웹 사이트에서는 부분 클래스 파일에 아무 것도 추가되지 않습니다. 그것은 모두 런타임에 마술에 의해 만들어졌습니다.

브라우저에서 페이지를 열면 격자가 표시되지 않습니까? 있는 DropDownList의 값을 미리 선택

+0

프로젝트를 만들고 RadGrid가 부분 클래스 파일에 추가되면 CodeBehind에서 RadGrid에 액세스 할 수 있습니다. 또한 그리드가 나타나고 데이터가 표시됩니다 –

+0

지금 깨어났습니다. 템플릿은 런타임에 인스턴스화 될 뿐이므로 모든 소스 파일에 컨트롤이 있어야한다는 의미는 아닙니다. 간단한 리피터 컨트롤로 이것을 시도하면 같은 것을 볼 수 있습니다. –

+0

안녕하세요 :) 그래서 내 질문을 해결하지만 당연히 DropDownList에 대해 미리 선택된 값을 가질 수 없다는 것을 의미합니다. 그래도 다른 방법이 있어야합니다. –

관련 문제