Variabele data in modal

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Pooner
  • Registratie: Augustus 2014
  • Laatst online: 09-08-2024
Hey,

Ik ben een webapplicatie aan het bouwen met MVC, gebaseerd op een bootstrap template, en een aantal javascript plugins. Ik maak gebruik van het aspnet.identity framework als login systeem.
Ik ben echter niet ervaren met MVC of javascript, en het meeste van mijn kennis is door zelfstudie, tijdens het bouwen van mijn applicatie.

Het probleem:
Ik heb een pagina met een lijst van al mijn gebruikers. Elke gebruiker kan 1 of meerdere rollen hebben. Deze rollen worden weergegeven in de lijst per gebruiker, en ik zou deze graag beheren via een modal popup die een select bevat.

The MyUser en MyRole objecten zijn licht aangepaste varianten op de IdentityUser en IdentityRole objecten in aspnet.identity framework, maar er zijn geen belangrijke aanpassingen.

In mijn model heb ik:
code:
1
2
3
4
Public Class UsersModel
    Public Property UsersList As IList(Of MyUser)
    Public Property RolesList As IList(Of MyRole)
End Class


In mijn view heb ik:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@For Each user As MyUser In Model.UsersList
    @<tr>
         <td>@user.Id</td>
         <td>@user.UserName</td>
         <td>
             @For Each urole As MyUserRole In user.Roles
                 For Each role As MyRole In Model.RolesList
                     If urole.RoleId = role.Id Then
                         @role.Name
                     End If
                  Next
              Next
          </td>
          <td><button data-toggle="modal" data-target="#managerolesModal" data-user-id="@user.Id">Manage Roles</button></td>
      </tr>
  Next


en als modal:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@For Each user As MyUser In Model.UsersList
    @<tr>
         <td>@user.Id</td>
         <td>@user.UserName</td>
         <td>
             @For Each urole As MyUserRole In user.Roles
                 For Each role As MyRole In Model.RolesList
                     If urole.RoleId = role.Id Then
                         @role.Name
                     End If
                  Next
              Next
          </td>
          <td><button data-toggle="modal" data-target="#managerolesModal" data-user-id="@user.Id">Manage Roles</button></td>
      </tr>
  Next


De vraag:
Hoe kan ik de select tag met rollen vullen? Dit moet elke keer de modal gecalled word opnieuw gerefreshed worden voor de gekozen gebruiker (ik kan data-user-id="@user.id" reeds doorgeven naar de modal, maar daar zou ik moeten de juiste roles ophalen)

Ik heb deze vraag ook gesteld op stackoverflow, maar nog geen antwoord gekregen --> http://stackoverflow.com/...98/variable-data-in-modal

PS: Ik denk dat de manier waarop ik de rollen oplijst per user ook niet optimaal is, dus enige tips daar zouden ook welkom zijn.
PPS: De code is sterk gesimplificeerd om de vraagstelling te verduidelijken.

Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 16-10 10:47
- Voor het renderen van een select tag: ga eens kijken naar de Html.Dropdownlist helper.
- Als je de modal opent voor een bepaalde gebruiker, geef je een id mee, en doe je een ajax call om je data op te halen en daarna je selectlist mee te vullen.

Acties:
  • 0 Henk 'm!

  • Pooner
  • Registratie: Augustus 2014
  • Laatst online: 09-08-2024
Thanks voor het vlugge antwoord.

Het doorgeven van het user-id is geen probleem, maar met ajax calls heb ik nog nooit gewerkt. Kan je een voorbeeld hoe dit zou werken in deze situatie?

Alvast bedankt!