C# 将值从母版页上的hiddenfield获取到子页上的全局变量中

C# 将值从母版页上的hiddenfield获取到子页上的全局变量中,c#,asp.net,master-pages,C#,Asp.net,Master Pages,我需要从母版页获取隐藏字段的值,并将该值用作子页上的全局变量 我所做的就是把它放到公共课上: public partial class frmBenefitSummaryList : System.Web.UI.Page { //public string PlanID = Convert.ToString(Request.QueryString["PlanID"]); //public string AuditID = Convert.ToString(Request.Quer

我需要从母版页获取隐藏字段的值,并将该值用作子页上的全局变量

我所做的就是把它放到公共课上:

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不喜欢这样,说“
字段初始值设定项不能引用非静态字段、方法或属性“Control.Page”

我该怎么做呢?

这不是一个“全局”变量,而是一个类成员。看看让它成为一个财产是否适合你:

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;
  }
}
这不是一个“全局”变量,而是一个类成员。看看让它成为一个财产是否适合你:

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

我把它放在我的页面上,它似乎接受了它,但当我尝试在If语句中使用它(即If(SecLevel=“”)时,它会在SecLevel下面加下划线,并显示一个错误,该错误表示:“属性或索引器'frmBenefitSummaryList.SecLevel'不能指定给它——它是只读的”。我没有试图给它赋值,我只是在检查它的值。
if(SecLevel==“”)
if(string.IsNullOrEmpty(SecLevel))
完美!谢谢我把它放在我的页面上,它似乎接受了它,但当我尝试在If语句中使用它(即If(SecLevel=“”)时,它会在SecLevel下面加下划线,并显示一个错误,该错误表示:“属性或索引器'frmBenefitSummaryList.SecLevel'不能指定给它——它是只读的”。我没有试图给它赋值,我只是在检查它的值。
if(SecLevel==“”)
if(string.IsNullOrEmpty(SecLevel))
完美!谢谢