ASP.NET c#添加/更新用户到角色

本文关键字:用户 角色 更新 NET 添加 ASP | 更新日期: 2023-09-27 17:49:00

大家好,我有一个显示住宿信息的页面,然后是在DetailsView中创建该信息的人的UserID。

我也有一个按钮,应该看看那个UserID,当点击UserID转换为用户名,这样我就可以使用该用户名将人员角色更改为租户。然而,我不确定使用c#如何从详细信息视图中获取UserID,进行转换并更新角色。什么好主意吗?

标记

@Tim

下面是我添加的代码:
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");
    }
}

我在详细信息视图下面的页面上添加了一个按钮,并将commandName设置为SetToRenter。当我点击按钮时,它并没有改变角色。我是ASP和c#的新手,但在大学作业中需要这个功能。任何想法?

ASP.NET c#添加/更新用户到角色

Membership.GetUser(UserId)

MembershipUser memUser = Membership.GetUser(UserId);
Roles.AddUserToRole(memUser.UserName, "Renter");

角色。AddUserToRole

这是一个关于如何获取你的DetailsView的BoundFields的值的例子:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.detailsview.itemcommand.aspx

您应该将按钮的CommandName设置为其函数并处理DetailsView。codebehind中的ItemCommand事件。在这里,您可以通过以下方式获得UserID:

void DetailsView1_ItemCommand(Object sender, DetailsViewCommandEventArgs e){
    if (e.CommandName == "SetToRenter")
    {
        // if UserID is in second row:
        DetailsViewRow row = DetailsView1.Rows[1];
        // Get the Username from the appropriate cell.
        // In this example, the Username is in the second cell  
        String UserID = row.Cells[1].Text;
        MembershipUser memUser = Membership.GetUser(UserId);
        Roles.AddUserToRole(memUser.UserName, "Renter");
    }
}

正如Cem所提到的,你应该设置DetailsView的DataKey属性。然后,您还可以通过以下方式获取当前记录的PK:

// Get the ArrayList objects that represent the key fields
ArrayList keys = (ArrayList)(DetailsView1.DataKey.Values).Keys;
// Get the key field for the current record. 
String UserID = keys[0].ToString();
更简单的是DetailsView的快捷方式SelectedValue:
String UserID= DetailsView1.SelectedValue.ToString();