2014-10-04 94 views
0

我正在創建幾個.NET用戶控件,我試圖找出設置屬性的最佳方法。我有一個地址控件,我試圖創建一個名爲ShowCountry的屬性,它將隱藏或顯示控件的國家ddl。(ASP.NET用戶控件) - 設置屬性的問題

我一直在試圖設置我的大部分性質類似於下面的代碼:

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

我將如何設置此屬性的默認值?當我使用控件運行頁面時,當ShowCountry用於其中一個函數時,它會立即在「get {}」中出錯,因爲我從未在控件的標記中設置ShowCountry =「false」。如果我在聲明控件時設置了這個屬性,那麼一切正常。 也就是我正在做的與ViewState一個很好的方法來保持回傳屬性值?

有人能告訴我他們將如何寫這個屬性? 的規格是: 必須保持在頁面返回值,必須默認爲false

回答

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; 
     } 
    } 

我覺得視圖狀態是最好的辦法或者,你可以使用隱藏字段爲了保存價值反對回發。