마스터 페이지 컨트롤의 렌더링을 변경하는 사용자 지정 컨트롤을 가져올 수 없습니다.

크리스 혹스

자리 표시 자 컨트롤이있는 마스터 페이지가 있습니다.

마스터 페이지에서 상속 된 페이지가 있습니다.

그런 다음 페이지에 표시되는 사용자 지정 컨트롤이 있습니다.이 사용자 지정 컨트롤에는 마스터 페이지에 대한 캐스트가 있으므로 자리 표시 자 컨트롤에 액세스하여 가시성을 켜고 끌 수 있습니다. 디버거에서 볼 때 모든 것이 예상대로 작동하지만 자리 표시 자 컨트롤이 가시성을 끄지 못합니다.

나는 이것이 이벤트가 시작되는 순서대로 관련이 있다고 생각합니다. 마스터 페이지가 이미 렌더링 된 후 페이지의 사용자 지정 컨트롤에있는 코드가 실행되는 것으로 보입니다.

누구든지이 페이지가 렌더링되는 방식에 어떻게 영향을 미칠 수 있는지 알고 있습니까? 그러면 사용자 지정 컨트롤이 자리 표시자를 켜고 끌 수 있습니다.

컨트롤의 코드는 다음과 같습니다.

protected override void Render(HtmlTextWriter writer)
{
    var master = this.Page.Master as Site;
    if (master != null)  // cast failed, your master is a different type
    {
        master.NavBar.Visible = false;
    }
    // other stuff
}
크리스 혹스

이 문제에 대한 해결책은 컨트롤, 마스터 페이지 및 페이지가 실행되는 순서였으며 사용자 지정 컨트롤의 설정을 무시했습니다. 해결 방법은 OnPreRender (EventArgs e) 메서드의 사용자 지정 컨트롤에이 기능을 추가하는 것입니다.

protected override void OnPreRender(EventArgs e)
        {
            var master = this.Page.Master as Site;
            if (master != null)  // cast failed, your master is a different type
            {
                var progressShown = master.FindControl("ProgressShown");
                if (progressShown != null)
                {
                    master.NavBar.Attributes.Add("class", "test");
                }
            }

            base.OnPreRender(e);
        }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

사용자 지정 컨트롤의 하위 컨트롤 이름을 찾을 수 없습니다.

사용자 정의 컨트롤 필드가 <select> 옵션을 렌더링하지 않습니다.

사용자가 컨트롤을 클릭 할 때 페이지로드없이 데이터 렌더링

Javafx : 사용자 지정 컨트롤을 Scene Builder로 가져올 수 없음

사용자 컨트롤의 마스터 페이지에서 컨트롤을 찾는 방법

Yii2 사이트 컨트롤러는 파일을 렌더링 할 수 없습니다 (금지 # 403).

angularjs 및 ionic을 사용하여 컨트롤러에서 뷰로 데이터를 가져올 수 없습니다.

실행 된 데이터 트리거가 사용자 지정 컨트롤의 속성 (ControlTemplate)을 변경하지 않습니다.

내 사용자 지정 컨트롤에서 자식 컨트롤의 가시성을 변경하는 방법은 무엇입니까?

내 사용자 컨트롤 페인트 이벤트가 하나의 컨트롤에서만 사각형을 채우지 않는 이유는 무엇입니까?

양식의 컨트롤에있는 텍스트에 대한 모든 변경 (사용자가 수행)을 감지합니다.

사용자 정의 컨트롤을 추가 할 수 없음 "도구 상자 항목을로드하지 못했습니다"C # winforms

GridView 페이지가 변경 될 때 서버 컨트롤을 수정하는 데 사용할 이벤트는 무엇입니까?

다른 개발자가 컨트롤을 추가하고 내 컨트롤의 모든 컨트롤 동작을 "상속"할 수있는 사용자 컨트롤

컨트롤은 정의된 스타일을 사용하지 않지만 다른 컨트롤은

Generic.xml에서 다른 사용자 지정 컨트롤을 사용하는 사용자 지정 컨트롤을 만들 수 있습니까?

사용자 정의 컨트롤을 만들지 못했습니다. 생성자를 찾을 수 없습니다.

사용자가 스프링 보안에서 특정 컨트롤러 또는 URL에 액세스 할 수있는 권한이없는 경우 로그인 페이지가 표시되어야합니다. 그것을 달성하는 방법?

사용자 지정 WinForms 컨트롤을 사용하여 중첩 된 컨트롤이 내부에 도킹 된 사각형을 변경할 수 있습니까?

페이지에 사용자 컨트롤을 동적으로 추가하면 UC 내부의 컨트롤이 null이됩니다.

WPF 사용자 지정 컨트롤은 기본 스타일의 ToggleButton을 사용하지 않습니다.

스크롤 테이블 뷰는 수평 스크롤 뷰 페이지 컨트롤을 재설정합니다.

VS2012는 사용자 정의 컨트롤을 추가 할 수 없습니다.

마스터 페이지의 컨트롤에 액세스 할 수 없습니다.

양식에서 렌더링되도록 다른 사용자 지정 컨트롤에 사용자 지정 컨트롤을 올바르게 추가하려면 어떻게해야합니까?

Xpages-다른 사용자 지정 컨트롤에서 사용자 지정 속성을 가져 오는 사용자 지정 컨트롤

부트스트랩을 사용하여 반응형 웹 페이지를 가져올 수 없습니다. 컨테이너 및 열을 사용하여 반응형 레이아웃을 가져올 수 없습니다.

Symfony2, 컨트롤러에 생성자가있는 경우 나뭇 가지 템플릿에서 컨트롤러의 동작을 렌더링하는 방법

응용 프로그램 컨트롤러에서 변수를 정의하되 content_for 태그가없는 페이지에서는 사용하지 마십시오.

TOP 리스트

  1. 1

    C # 16 진수 값 0x12는 잘못된 문자입니다.

  2. 2

    Matlab의 반복 Sortino 비율

  3. 3

    Python의 csv 파일에서 첫 번째 열 삭제

  4. 4

    개체 참조가 개체의 인스턴스로 설정되지 않았습니까? (예외 오류 ~ ASP.NET MVC)

  5. 5

    atob은 인코딩 된 base64 문자열을 디코딩하지 않습니다.

  6. 6

    EventEmitter <string>의 컨텍스트 'this'가 Observable <string> 유형의 'this'메서드에 할당되지 않았습니다.

  7. 7

    병합 셀을 사용하여 워크 시트의 데이터 필터링

  8. 8

    PhpStorm 중단 점에서 변수 값을 볼 수 없습니다.

  9. 9

    jQuery에서 이벤트 핸들러를 제거하는 가장 좋은 방법은 무엇입니까?

  10. 10

    `@ Transactional`이 있음에도 불구하고 이러한 데이터베이스 수정 사항이 롤백되지 않는 이유는 무엇입니까?

  11. 11

    ssh를 사용하여 원격에서 로컬로 파일 복사

  12. 12

    종속 사용자 정의 Lightning 선택 목록 Level2 및 Level3을 설정한 다음 Lightning 구성 요소에서 Level2를 재설정하지만 Level2 캐시 데이터가 저장됨

  13. 13

    2 개의 이미지를 단일 평면 이미지로 결합

  14. 14

    팝업처럼 위젯을 표시하는 방법

  15. 15

    [해결] 쿠키 설정 SameSite = Chrome / JSP, JAVASCRIPT에서 작동하지 않습니다.

  16. 16

    버튼 클릭을 기반으로 특정 CSS 클래스를 추가하는 방법은 무엇입니까?

  17. 17

    React 구성 요소가 자동으로 초기 상태로 다시 렌더링됩니다.

  18. 18

    연결된 서버 쿼리는 작동하지만 동일한 OPENQUERY는 "sys.servers에서 서버 'SERVER'를 찾을 수 없습니다.

  19. 19

    파일 2의 파일 1에서 동일한 줄을 조건으로 바꿉니다.

  20. 20

    아이디어 Intellij : 종속성 org.json : json : 20180813을 찾을 수 없음, maven에서 org.json 라이브러리를 가져올 수 없음

  21. 21

    상황에 맞는 메뉴 색상

뜨겁다태그

보관