c# - ASP.NET MVC Custom Membership Provider - How to overload CreateUser? -
i'm trying build custom membership provider. capture additional information (first name , last name) during registration , i'm not using usernames (email login).
in custom membership provider i'm trying overload createuser method this:
public override mymembershipuser createuser(string firstname, string lastname, string email, string password) { ... }
but when want call account controller:
[httppost] public actionresult register(registermodel model) { if (modelstate.isvalid) { // attempt register user membershipcreatestatus createstatus; membership.createuser(model.firstname, model.lastname, model.email, model.password); if (createstatus == membershipcreatestatus.success) { return redirecttoaction("index", "home"); } else { modelstate.addmodelerror("", errorcodetostring(createstatus)); } } // if got far, failed, redisplay form return view(model); }
i error stating "no overload method takes 4 arguments".
how call custom createuser method custom membership provider class?
thank you!
isn't obvious? you're referencing membership, not mymembershipprovider when call membership.createuser.
it looks membership static class internally calls membership provider, there no real way change other creating own "mymembership" static class same thing. since can't inherit static classes, have either call membership.xxx static version, or implement functionality yourself.
your own mymembership class have methods wanted have.
another option this:
((mymembershipprovider)membership.provider).createuser()
i don't approach though because requires remember call provider createuser rather membership.createuser. plus, casting code smell (unless encapsulated, why recommended own mymembership static class).
Comments
Post a Comment