user624201
user624201

Reputation: 41

Error while passing argument

I have a UserBll class which has following method

public string GetaspnetUserIdByUserName(string name )
{
    string _lsttUserId = (from aspnet in db.aspnet_Users
                            where aspnet.UserName.Equals(name)
                            select aspnet.UserId
                         ).ToString();
    return _lsttUserId;
}

I create an instance of Usertable having UserId and UserName field and I am using following code

UserBLL bll = new UserBL
UserTable uTable = new UserTable();
uTable.UserId = bll.GetaspnetUserIdByUserName(Membership.GetUser(model.UserName));

in above code I get following error:

GetaspnetUserIdByUserName has some invalid argument

Can somebody please tell me what wrong I am doing

Upvotes: 2

Views: 101

Answers (3)

codeandcloud
codeandcloud

Reputation: 55278

The BLL function is needless.

MembershipUser user = Membership.GetUser("{your desired user name}");
UserTable uTable = new UserTable();
uTable.UserId = user.ProviderUserKey.ToString();

Because MembershipUser.ProviderUserKey == aspnet_User.UserId

Upvotes: 1

Nix
Nix

Reputation: 58622

Membership.GetUser does not return a string, it returns a MembershipUser.

You want:

string username = Membership.GetUser(model.UserName).UserName;

In case you want to see whats going on:

MembershipUser theUser = Membership.GetUser(model.UserName);
string userName = theUser.UserName;

Upvotes: 1

Yuck
Yuck

Reputation: 50855

I think you mean to be calling the function like this:

UserBLL bll = new UserBL
UserTable uTable = new UserTable();
uTable.UserId = bll.GetaspnetUserIdByUserName(model.UserName);

Assuming that model.UserName is a string value.

Upvotes: 1

Related Questions