Avatar billede everclear Praktikant
06. maj 2006 - 22:00 Der er 16 kommentarer og
1 løsning

Vis bestemte roller i gridview og slet bruger

Jeg har på mit site oprettet to roles. User og Administrator. Nu vil jeg så gerne have lavet sådan, at jeg kan lave et gridview, der lister alle mine Administratorer og viser dem med en "slet" knap, så jeg kan slette den pågældende bruger.

Mit problem ligger i, at jeg kun skal have hentet brugerne i den bestemte rolle ud og så databinde til mit gridview.

Hvis jeg skal bruge alle mine brugere kan jeg jo bruge:

Membership.GetAllUsers();

og så databinde, men hvordan får jeg hentet kun den ene rolle? Og hvordan får jeg slettet brugeren med min slet knap?
Avatar billede dr_chaos Nybegynder
07. maj 2006 - 07:27 #1
Du kan få vis alle brugerere i en bestemt rolle med :
Roles.GetUsersInRole("Administrator");
Den returnerer et string array.
Når brugeren skal slettes benytter du:

            Membership.DeleteUser("etbrugernavn");
Avatar billede everclear Praktikant
07. maj 2006 - 11:21 #2
Okay. Det med Roles.GetUsersInRole("Administrator") spiller bare; men hvilket event skal jeg knytte til mit gridview når jeg vil slette en bruger? Skal jeg lave knappen som et templatefield? Eller skal jeg lave et delete field?

Kan ikke helt hitte ud af det:-)
Avatar billede dr_chaos Nybegynder
07. maj 2006 - 11:25 #3
Du skal bruge onrowcommand.
Avatar billede dr_chaos Nybegynder
07. maj 2006 - 11:25 #4
og du kan godt bruge et templatefield
Avatar billede everclear Praktikant
07. maj 2006 - 12:09 #5
Cool nok; men hvordan får jeg fat i det username, der skal slettes?
Jeg har lavet mit templatefield med en knap og i min CodeBehind har jeg lavet et onrowcommand event.

Hvordan får jeg så kørt min Membership.DeleteUser på det rigtige brugernavn? (Altså det, der er valgt)
Avatar billede dr_chaos Nybegynder
07. maj 2006 - 12:11 #6
hvordan ser din codebehind ud ?
Avatar billede everclear Praktikant
07. maj 2006 - 12:26 #7
Noget lignende:

protected void Page_Load(object sender, EventArgs e)
    {

        if (!Page.IsPostBack)
        {

            gvUsers.DataSource = Roles.GetUsersInRole("Administrator");
            gvUsers.DataBind();


        }
    }

    protected void gvUsers_RowCommand(object sender, GridViewCommandEventArgs e)
    {

        // Her skal den valgte bruger slettes

        lblStatus.Text = "Brugeren er nu slettet";
        gvUsers.DataBind();
    }
}
Avatar billede dr_chaos Nybegynder
07. maj 2006 - 14:16 #8
prøv at se om du får brugernavnet ud med:
protected void gvUsers_RowCommand(object sender, GridViewCommandEventArgs e)
    {GridView v = (GridView)sender;
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = v.Rows[index];
Response.Write(row.Cells[0].Text);

        // Her skal den valgte bruger slettes
        e.
        lblStatus.Text = "Brugeren er nu slettet";
        gvUsers.DataBind();
    }
Avatar billede everclear Praktikant
07. maj 2006 - 15:00 #9
Jeg har lavet et templatefield med en knap i; og indsat din kode. Når jeg klikker på knappen, så poster siden, men der sker intet. :-(
Avatar billede dr_chaos Nybegynder
07. maj 2006 - 15:06 #10
Sæt commandname til Delete
Avatar billede everclear Praktikant
07. maj 2006 - 20:19 #11
Jeg tror jeg er på et helt andet spor her:-) Hvad skal sættes til hvad (og hvor) for at slette den valgte User?:-D
Avatar billede dr_chaos Nybegynder
08. maj 2006 - 10:45 #12
du sætter commandname="Delete" på knappen.
Avatar billede everclear Praktikant
10. maj 2006 - 11:10 #13
Nopes. Får bare en:
The GridView 'gvAdminUsers' fired event RowDeleting which wasn't handled.
Avatar billede dr_chaos Nybegynder
10. maj 2006 - 11:14 #14
prøv med
commandname="Slet"
Avatar billede everclear Praktikant
10. maj 2006 - 11:21 #15
Nix. Den poster bare; men der sker ikke noget.
Avatar billede everclear Praktikant
10. maj 2006 - 15:11 #16
Jeg har fået luret hvordan jeg skal få det til at virke. Har brugt DataKeys:-) Men jeg vil sgu gerne give point for hjælpen....var aldrig gået uden:-) Smid lige et svar...
Avatar billede dr_chaos Nybegynder
12. maj 2006 - 09:36 #17
svar :)
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