Page Prerender에서 C#이있는 드롭 다운 박스에 대한 참조 받기

StackOverflow https://stackoverflow.com/questions/354666

  •  21-08-2019
  •  | 
  •  

문제

로드 중에 C# 코드에서 ASPX 페이지의 드롭 다운 박스에 옵션을 추가하고 싶습니다. 컨트롤에 대한 참조를 얻는 방법을 모르겠습니다. 사용자가 드롭 다운 박스를 변경할 때 트리거되는 C# 코드가 있습니다. 그 점에서 나는 다음과 함께 드롭 다운에 대한 참조를 얻는다.

DropDownBox ddb = (DropDownBox)info.Toolbar.ToolbarItems.Find("ID");

그러나 내가 시도해 보면 작동하지 않습니다

protected void Page_PreRender(object sender, EventArgs e)
    {

내 aspx.cs에서

내가 무엇을 놓치고 있습니까? 감사.

도움이 되었습니까?

해결책

Dropdown의 선택한 항목이 Postbacks의 ViewState에서 자동으로 선택 되려면 Page_Preload Fires의 시간까지 드롭 다운에 모든 항목이 있어야합니다. 이렇게하려면 Page_Init에 코드를 넣으려면 컨트롤이 생성되지만 ViewState는 아직 주입되지 않았습니다.

여기서 살펴보세요 ASP.NET 페이지 수명주기 개요 페이지 수명주기에 대한 정보.

드롭 다운이 상위 컨테이너에있는 것을 알 수 있습니다. 컨트롤에 대한 참조를 얻지 못하면 find ()를 사용하기 전에 info.ensurechildcontrols ()를 호출해야 할 수도 있습니다.

다른 팁

Prerender는 페이지 수명주기의 끝을 향해 있습니다. 거기에서 변화를하고 싶습니까? 처음에 바인딩되거나 선택이 변경 될 때 드롭 다운에서 항목을 변경 해야하는 것처럼 들립니다.

http://codebetter.com/blogs//images/codebetter_com/raymond.lewallen/89/o_aspnet_page_lifecycle.jpg

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top