ASP.NET C# Ajouter/mettre à Jour l'Utilisateur de Rôle
Salut à tous j'ai une page qui affiche l'Hébergement d'info et puis le nom d'utilisateur de la personne qui a créé cette information dans un DetailsView.
J'ai aussi un bouton qui devrait ressembler à ce que l'id utilisateur et lorsqu'il est cliqué prendre que userID convertir un nom d'utilisateur, de sorte que je peux ensuite utiliser ce nom d'utilisateur de changer les personnes de rôle à un locataire. Cependant, je ne suis pas sûr à l'aide de C# comment je peux récupérer le nom d'utilisateur dans l'affichage détails faire la conversion et de mise à jour du rôle. Des idées?
Marque
@Tim
Voici le code que j'ai ajouté:
public partial class adminonly_approval : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
void DetailsView1_ItemCommand(Object sender, DetailsViewCommandEventArgs e){
if (e.CommandName == "SetToRenter")
{
//if UserID is in second row:
DetailsViewRow row = DetailsView1.Rows[9];
//Get the Username from the appropriate cell.
//In this example, the Username is in the second cell
String UserID = row.Cells[9].Text;
MembershipUser memUser = Membership.GetUser(UserID);
Roles.AddUserToRole(memUser.UserName, "renter");
}
}
J'Ai ajouté un bouton sur la page ci-dessous les détails d'afficher et de définir la commandName à SetToRenter. Lorsque je clique sur le bouton, si elle n'est pas en changeant les rôles. Im nouveau à l'ASP et C#, mais besoin de cette fonctionnalité pour une université d'affectation.
Une Idée?
OriginalL'auteur Mark | 2011-04-04
Vous devez vous connecter pour publier un commentaire.
L'adhésion.GetUser(UserId)
Les rôles.AddUserToRole
Voici un exemple sur la façon d'obtenir les valeurs de votre DetailsView de BoundFields:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.detailsview.itemcommand.aspx
Vous devez placer le Bouton CommandName de sa fonction et de gérer le contrôle DetailsView.ItemCommand Événement dans le code-behind. Là, vous pouvez obtenir votre nom d'utilisateur de la façon suivante:
De Cem a mentionné, vous devez régler le contrôle DetailsView de DataKey Propriété. Ensuite, vous pouvez également obtenir le PK de l'enregistrement courant de la façon suivante:
Même le plus simple est le raccourci SelectedValue de DetailsView:
qui n'est pas le nom d'utilisateur de l'utilisateur actuel. Il indique simplement le moyen d'ajouter un utilisateur à un rôle à jouer quand vous avez le nom d'utilisateur. Vous devez nous montrer un peu de code ou nous faire part des problèmes que vous avez pour obtenir le nom d'utilisateur.
édité ma réponse à vous fournir un exemple.
Aussi DataKey travail. Je veux dire que vous n'avez pas à trouver
UserID
cellulaire dans le contrôle DetailsView. msdn.microsoft.com/en-us/library/...J'ai ajouté le code de mon premier post que j'ai ajouté et je rencontre quelques problèmes. Je vois cet autre code que vous avez ajouté après cem mentionné, mais vous dites que les PK mais c'est Accom_ID dans ce cas, pas de nom d'utilisateur
OriginalL'auteur Rango