How to assign Profile values?

前端 未结 10 631
别那么骄傲
别那么骄傲 2020-11-22 08:49

I don\'t know what I am missing, but I added Profile properties in the Web.config file but cannot access Profile.Item in the code or create a new profile.

10条回答
  •  清酒与你
    2020-11-22 09:10

    Just want to add to Joel Spolsky's answer

    I implemented his solution, working brilliantly btw - Cudos!

    For anyone wanting to get a user profile that's not the logged in user I used:

    web.config:

      
        
        
      
    

    and

    
      
        
        
      
    

    And then my custom class:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Profile;
    using System.Web.Security;
    
    namespace NameSpace
    {
        public class AccountProfile : ProfileBase
        {
            static public AccountProfile CurrentUser
            {
                get
                {
                    return (AccountProfile)
                     (ProfileBase.Create(Membership.GetUser().UserName));
                }
            }
    
            static public AccountProfile GetUser(MembershipUser User)
            {
                return (AccountProfile)
                    (ProfileBase.Create(User.UserName));
            }
    
            /// 
            /// Find user with matching barcode, if no user is found function throws exception
            /// 
            /// The barcode to compare against the user barcode
            /// The AccountProfile class with matching barcode or null if the user is not found
            static public AccountProfile GetUser(string Barcode)
            {
                MembershipUserCollection muc = Membership.GetAllUsers();
    
                foreach (MembershipUser user in muc)
                {
                    if (AccountProfile.GetUser(user).Barcode == Barcode)
                    {
                        return (AccountProfile)
                            (ProfileBase.Create(user.UserName));
                    }
                }
                throw new Exception("User does not exist");
            }
    
            public bool isOnJob
            {
                get { return (bool)(base["isOnJob"]); }
                set { base["isOnJob"] = value; Save(); }
            }
    
            public string Barcode
            {
                get { return (string)(base["Barcode"]); }
                set { base["Barcode"] = value; Save(); }
            }
        }
    }
    

    Works like a charm...

提交回复
热议问题