簡體   English   中英

ASP.NET C#將用戶添加/更新到角色

[英]ASP.NET C# Add/Update User to Role

大家好我有一個頁面顯示住宿信息,然后是在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#的新手,但需要此功能才能完成大學任務。 任何想法?

Membership.GetUser(用戶ID)

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

Roles.AddUserToRole

下面是一個如何獲取DetailsView的BoundFields值的示例: http//msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.detailsview.itemcommand.aspx

您應該將Button的CommandName設置為其功能,並在代碼隱藏中處理DetailsView.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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM