2017-01-10 3 views
0

マスターページから非表示フィールドの値を取得し、その値を子ページのグローバル変数として使用する必要があります。私は公共の部分クラスにこれを入れた何をしたかマスターページの非表示フィールドから子ページのグローバル変数に値を取得

は:

public partial class frmBenefitSummaryList : System.Web.UI.Page 
{ 
    //public string PlanID = Convert.ToString(Request.QueryString["PlanID"]); 
    //public string AuditID = Convert.ToString(Request.QueryString["AuditID"]); 
    //public string UID = LoginSecurity.GetUser("ID"); 
    public string SecLevel = (HiddenField)Page.Master.FindControl("hdnSecLevel"); 

C#はこれを好きではない、「A field initializer cannot reference the non-static field, method, or property 'Control.Page'

がどのように私はこのような何かをやって行くだろうと言いますか?

答えて

2

これは「グローバル」変数ではなく、クラスメンバーです。それはプロパティがあなたのために働く作るかどうかを確認してください:

private HiddenField secLevelField = null; 
public string SecLevel { 
    get 
    { 
    if (secLevelField == null) 
     secLevelField = (HiddenField)Page.Master.FindControl("hdnSecLevel"); 
    if (secLevelField != null) 
     return secLevelField.Value; 
    else 
     return null; 
    } 
} 
+0

私は私のページでこれを入れて、それを受け入れているようだが、私は(すなわち(SECLEVEL =「」の場合))If文でそれを使用しようとすると、 SecLevelに下線を引いて、「プロパティまたはインデクサー 'frmBenefitSummaryList.SecLevel'を割り当てることができません - 読み取り専用です」というエラーが表示されます。私はそれに値を割り当てようとはしていない、私はその値をチェックしようとしている。 –

+0

'if(SecLevel ==" "))'または 'if(string.IsNullOrEmpty(SecLevel))' – Igor

+0

パーフェクト!ありがとう! –

関連する問題