2014-10-04 5 views
0

.NET 사용자 정의 컨트롤을 여러 개 만들고 있는데 속성을 설정하는 가장 좋은 방법을 찾으려고합니다. 주소 컨트롤이 있고 컨트롤의 국가 ddl을 숨기거나 표시하는 ShowCountry라는 속성을 만들려고합니다.(ASP.NET 사용자 정의 컨트롤) - 문제 설정 속성

나는 아래의 코드와 유사 내 대부분의 속성을 설정하려고 한 :이 속성에 대한 기본값을 설정합니다 어떻게

public bool ShowCountry 
{ 
    get { return (bool)ViewState["ShowCountry"]; } 
    set 
    { 
     ViewState["ShowCountry"] = value; 
     pnlCountry.Visible = value; 
    } 
} 

? 컨트롤에 내 페이지를 실행하면 즉시 컨트롤의 태그에 ShowCountry = "false"를 설정했기 때문에 ShowCountry가 내 함수 중 하나에서 사용될 때 "get {}"오류가 발생합니다. 컨트롤을 선언 할 때이 속성을 설정하면 모든 것이 잘 동작합니다. ViewState에서 포스트 백간에 속성 값을 유지하는 좋은 방법은 무엇입니까?

누군가이 건물을 어떻게 작성 하겠는가? 사양은 다음과 같습니다 가 포스트 백을 통해 값을 유지해야합니다, 당신이 오류를 방지하기 위해이 시도 할 수 거짓

답변

0

에 기본적으로해야합니다 ..

public bool ShowCountry 
    { 
     get { 

      if(ViewState["ShowCountry"] != null){ 
       return (bool)ViewState["ShowCountry"]; 
      } 
      else { 
       //return the default value 
       return false; 
       } 
     } 
     set 
     { 
      ViewState["ShowCountry"] = value; 
      pnlCountry.Visible = value; 
     } 
    } 

내가 뷰 상태가 당신이 할 수있는 대안으로 가장 좋은 방법을 생각 포스트 백에 대한 가치를 저장하기 위해 숨겨진 필드를 사용하십시오.

관련 문제