public class User
 {
      public class Model
        {
            public string UID { get; set; }
            public string UserName { get; set; }
            public string PassWord { get; set; }
            public string UserIp { get; set; }
            public int IsOnLine { get; set; }
            public DateTime OnLineTime { get; set; }
            public DateTime OffLineTime { get; set; }
            public int UserSendPort { get; set; }
            public int UserListenPort { get; set; }
        }
     public static class Service
        {
            private static string conn = System.Configuration.ConfigurationSettings.AppSettings["AccessConnStr"].ToString() + System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings["DbPath"].ToString());
            public static Model CurrentUser { get; set; }
        }
}User.Model UserSelf = new User.Model();
UserSelf.UserName = UserName;
UserSelf.PassWord = PassWord;
User.Service.CurrentUser = UserSelf;//“Service”类型初始值设定项引发异常这个怎么解决?

解决方案 »

  1.   

    最后一句试图给Service类的CurrentUser属性赋值,但该属性定义中没有明确get和set的规则,需要明确下。
    比如:
    public static Model CurrentUser { get { return 变量名; } set { 变量名 = value; }}
      

  2.   

    参考:http://www.cnblogs.com/bluecountry/archive/2009/02/15/1390936.html
    另外百度搜下:http://www.baidu.com/s?wd=%C0%E0%D0%CD%B3%F5%CA%BC%D6%B5%C9%E8%B6%A8%CF%EE%D2%FD%B7%A2%D2%EC%B3%A3&rsv_bp=0&n=2&inputT=570
      

  3.   


    找到了看懂了就不来csdn了
      

  4.   

    把这段的上下文代码贴出来看看
    User.Model UserSelf = new User.Model();
    UserSelf.UserName = UserName;
    UserSelf.PassWord = PassWord;
    User.Service.CurrentUser = UserSelf;//“Service”类型初始值设定项引发异常
      

  5.   


    private void BtnLogin_Click(object sender, EventArgs e)
            {
                string UserName = this.textBoxUserName.Text.Trim();
                if (UserName == "")
                {
                    MessageBox.Show("请填写用户名", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                string PassWord = this.textBoxPassWrod.Text.Trim();
                if (PassWord == "")
                {
                    MessageBox.Show("请填写密码", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                string result = Util.CallWebPage("http://"+Util.Host + ":" + Util.HostPort + "/ImWeb/Login.ashx", "UserName=" + Regex.Escape(UserName) + "&PassWord=" +Regex.Escape(PassWord), Encoding.UTF8);
                Users.Model UserSelf = new Users.Model();
                LoginResult.Model LoginResultModel = Serializer.JsonToObject<LoginResult.Model>(result);
                if (LoginResultModel.Result==1)
                {
                    UserSelf.UserName = UserName;
                    UserSelf.PassWord = PassWord;
                    Users.Service.CurrentUser = UserSelf;
                    Thread Main = new Thread(new ThreadStart(LoginSuccess));
                    Main.Start();
                    this.Close();
                }
                else
                {
                    MessageBox.Show(LoginResultModel.Content.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
      

  6.   

    你就是写在ASPX.CS里面的嘛 叫你换个名字,吧Class User这个类改成其他名字 ,对他的引用跟着换了,你这代码就放ASPX.CS才报错 隐藏了继承的成员“System.Web.UI.Page.User”。
      

  7.   


    private static string conn = System.Configuration.ConfigurationSettings.AppSettings["AccessConnStr"].ToString() + System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings["DbPath"].ToString());//这句先换成下面这样调试,若没有错误,则是配置不正确或读取了web.config中不存在的节点
    private static string conn = "";
      

  8.   

    另外,private static string conn是不是应该定义成public的?
      

  9.   


    最可能原因是你读取了web.config中不存在的值,请仔细检查大小写:),要完全和web.config AppSettings定义的键完全匹配。