施罗德住宅分析感言:.net(c#)字段受级别保护限制是什么意思呀?高手快看看吧

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 08:02:53
namespace DotNetForum
{
public class _Register: ForumPage
{

;
;

protected System.Web.UI.WebControls.RequiredFieldValidator EmailRequired;
protected System.Web.UI.WebControls.RegularExpressionValidator EmailAddressRegExp;
protected System.Web.UI.WebControls.RequiredFieldValidator FirstRequired;
protected System.Web.UI.WebControls.RequiredFieldValidator LastRequired;
protected System.Web.UI.WebControls.RequiredFieldValidator AddressRequired;
protected System.Web.UI.WebControls.RequiredFieldValidator CityRequired;
protected System.Web.UI.WebControls.RequiredFieldValidator StateRequired;
protected System.Web.UI.WebControls.RequiredFieldValidator ZipCodeRequired;
protected System.Web.UI.WebControls.RegularExpressionValidator ZipCodeRegExp;
protected System.Web.UI.WebControls.Button Register;
protected System.Web.UI.WebControls.TextBox Password;
protected System.Web.UI.WebControls.RequiredFieldValidator PasswordRequired;
protected System.Web.UI.WebControls.Label CreateError;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.TextBox companyname;
protected System.Web.UI.WebControls.DropDownList StateDropDown;

private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
DataSet states;
FormsAuthentication.SignOut();

// bind the state drop-down combobox
states = AccountsTool.GetStates();
StateDropDown.DataSource = states;
StateDropDown.DataTextField = "Description";
StateDropDown.DataValueField = "StateCode";
StateDropDown.DataBind();
}
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.companyname.TextChanged += new System.EventHandler(this.companyname_TextChanged);
this.City.TextChanged += new System.EventHandler(this.City_TextChanged);
this.Register.Click += new System.EventHandler(this.Register_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void Register_Click(object sender, System.EventArgs e)
{
// 根据用户的输入建立一个新帐号
DotNetForums.Accounts_Business.User newUser = new DotNetForums.Accounts_Business.User();
newUser.Password = ForumsPrincipal.EncryptPassword( Password.Text );
newUser.EmailAddress = EmailAddress.Text;
newUser.Address1 = Address1.Text;
newUser.companyname = companyname.Text;
上面的companyname不可访问???
C:\Inetpub\wwwroot\DotNetForum\Modules\Users\Register.aspx.cs(108): 不可访问“DotNetForums.Accounts_Business.User.companyname”,因为它受保护级别限制

User类里的companyname字段要声明为public

companyname 声明为Protected,只能继承的子类调用,而不能被其他类调用。

需要改成Public 修饰。