Hej! Efter en snabbtitt.. Det finns properties för det i artikeln, FirstName och LastName. Dom finns med och man kommer åt dessa ifrån MembershipProvider-klassen, men jag har inte hittat något sätt att plocka ut dessa i min vanliga "default.aspx"-sida... Jag skrev om den för att jag ville ha med UserID istället i min MembershipUser-class med det borde inte spela någon roll utan borde fungera som med firstname...MembershipProvidern...
Har suttit och lekt med artikeln Artikel [MySql Membership provider i .NET 2.0] där jag har skrivit om min MP så att den fungerar mot min original db och då även mot min DAL-class. I artikeln så har man utökat "MembershipUser" med "firstname" och "lastname".
Nu skulle jag vilja skriva ut "firstname" och "lastname" i en label på min "default.aspx"-sida, men hur fångar jag upp de olika fälten i "MembershipUser"?
MVH
TommySv: MembershipProvidern...
Så du kanske når den via MySQLMembershipUser.FirstName + '' + MySQLMembershipUser.LastName;
<code>
public class MySQLMembershipUser : MembershipUser
{...}
{
// Properties that extends the base class
private string _FirstName;
private string _LastName;
public string FirstName
{...}
{
get { return _FirstName; }
set { _FirstName = value; }
}
public string LastName
{...}
{
get { return _LastName; }
set { _LastName = value; }
}
}
</code>Sv:MembershipProvidern...
Provade med detta i min "default.aspx"-fil:
WebPublic.MemberSystem.MySQLMembershipUser mUser = (WebPublic.MemberSystem.MySQLMembershipUser)User;
Label1.Text = mUser.UserID.ToString();
Men får felet:
System.InvalidCastException was unhandled by user code
Message="Det gick inte att omvandla ett objekt av typen System.Security.Principal.GenericPrincipal till typen WebPublic.MemberSystem.MySQLMembershipUser."
Source="App_Web_ajbcad_a"
StackTrace:
vid _Default.Page_Load(Object sender, EventArgs e) i c:Default.aspx.cs:rad 25
vid System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
vid System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
vid System.Web.UI.Control.OnLoad(EventArgs e)
vid System.Web.UI.Control.LoadRecursive()
vid System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Sen har jag insett att det inte finns någon större anledning att utöka membershipprovidern. För att lägga in sådant i profiler istället, som är mycket smidigare att jobba med... men eftersom artiklen finns så vill man ju prova om det finns en gnutta anledning till att utöka istället för att kompletera med en profil och UserID är ändå en vanlig modell att knyta ihop en User med ett specifikt inlägg. Så att ett UserID hade varit ett bra komplement om man skulle utöka MembershipUser/Providern och Firstname/LastName att kompletera via en profil.