Avatar billede mcnovy Nybegynder
12. april 2008 - 15:39 Der er 6 kommentarer og
1 løsning

Membership tilføje tabeller i DB

Hej,

jeg bruger ASP.nets egen Membership and roles styring,
men jeg har behov for at kunne tilføje lidt flere data til brugeren (Profil billede, beskrivelse mm.)

hvad er den korrekte måde at gøre dette på..?
oprette en tabel, og så bruger UserID.

eller har Membership and roles nogle metoder man kan bruge til dette..?

på forhånd tak..
Avatar billede aaberg Nybegynder
12. april 2008 - 23:11 #1
Du kan bruge ASP.net Profile funktionalitet. For f.eks. at tilføje variablen "FullName" til brugerne, skal du tilføje følgende i din web.config fil:

<profile defaultProvider="myProfileProvider">
            <providers>
                <add name="myProfileProvider" connectionStringName="nameOfConString" applicationName="/NoklusPortal" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
            </providers>
            <properties>
                <add name="FullName" allowAnonymous="false" type="System.String"/>
            </properties>
        </profile>


Nu kan du få fat i et Profile object, ved at gøre følgende:
ProfileBase profile = ProfileBase.Create(this.Page.User.Identity.Name);

For at sætte profile objektets værdi:
profile["FullName"] = "Kim Larsen";

For at hente værdien:
string theFullName = (string)profile["FullName"];
Avatar billede mcnovy Nybegynder
13. april 2008 - 10:30 #2
det ser super ud..

opretter den så den de kolonner den skal bruge i db..?

jeg prøver det lige lidt senere.. men på forhånd tak.
Avatar billede mcnovy Nybegynder
13. april 2008 - 12:32 #3
Jeg har lige prøvet at skrive sådan her.

    protected void Page_Load(object sender, EventArgs e)
    {
        ProfileBase profile = ProfileBase.Create(this.Page.User.Identity.Name);
        txtBoxUserName.Text = Profile.UserName;
        txtBoxFullName.Text = (string)Profile["FullName"];
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        ProfileBase profile = ProfileBase.Create(this.Page.User.Identity.Name);
        profile["FullName"] = txtBoxFullName.Text;
        profile.Save();
    }

men den skriver ikke noget navn i textboxen txtBoxFullName efter page_Load

min webconfig ser sådan her ud..

<profile defaultProvider="myProfileProvider">
      <providers>
        <add name="myProfileProvider" connectionStringName="LocalSqlServer" applicationName="/GameStats" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      </providers>
      <properties>
        <add name="FullName" allowAnonymous="false" type="System.String"/>
        <add name="ProfilePicture" allowAnonymous="false" type="System.String"/>
        <add name ="Afdeling" allowAnonymous="false" type="System.String"/>
        <add name ="Beskrivelse" allowAnonymous="false" type="System.String"/>
      </properties>
    </profile>

er det fordi man selv skal tilføje noget i db, og så fald fald, hvor..?
Avatar billede mcnovy Nybegynder
14. april 2008 - 00:43 #4
aaberg80

smid et svar..

    protected void Page_Load(object sender, EventArgs e)
    {
        ProfileBase profile = ProfileBase.Create(this.Page.User.Identity.Name);
        txtBoxUserName.Text = Profile.UserName;
        txtBoxFullName.Text = (string)Profile["FullName"];
    }

skulle selvfølgelig være
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack)
        {
        ProfileBase profile = ProfileBase.Create(this.Page.User.Identity.Name);
        txtBoxUserName.Text = Profile.UserName;
        txtBoxFullName.Text = (string)Profile["FullName"];
        }
    }

tak for hjælpen..
Avatar billede aaberg Nybegynder
14. april 2008 - 08:06 #5
Glad for at kunne hjælpe :-)
Avatar billede aaberg Nybegynder
14. april 2008 - 10:44 #6
Bare lige for at komme med en tilføjelse.

Det kode jeg presenterede i min post, giver mulighed til at hente et Profile objekt for ethvert brugernavn du angiver i ProfileBase.Create("") metoden. Hvis du bare har brug for at tilgå profilen til den nuværende bruger (Som oftes er tilfældet), kan du bare skrive "Profile.FullName" for at tilgå FullName properties. Alle de profile variabler du tilføjer i web.config filen, dukker automatisk op i Profile klassen.
Avatar billede mcnovy Nybegynder
14. april 2008 - 10:55 #7
hej.. takker for info,
men fandt godt ud af det i min kamp om at få det til at virke.. :)

og skal bruge begge dele, da jeg både gerne skal bruge en admin del, og en bruger del..
så det hele er jo helt fint..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester