0
請諮詢 -的CheckBoxList是不可見的
的CheckBoxList是不可見的 - 它必須顯示3個角色(現有的時刻):
<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeBehind="admin.aspx.cs"
Inherits="HSE_Monitoring_Application.admin.admin" title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" Runat="Server">
<h3>Role Manager</h3>
<div>
Enter UserName:
<asp:TextBox ID="TxtUserName" runat="server"></asp:TextBox>
<asp:Button ID="LookupBtn" runat="server" Text="Search" />
</div>
<div class="roleList">
<asp:CheckBoxList ID="RoleList" runat="server" Visible=true>
</asp:CheckBoxList>
</div>
<div>
<asp:button ID="UpdateBtn" text="Update" Visible="false" runat="server" />
</div>
</asp:Content>
的結果 - 它必須顯示3個複選框以3個角色 - 管理員,批准者,審覈員和按鈕「更新」。這些角色存在。 藉助角色複選框控件 - 管理員可以管理頁面上的角色成員資格。
它只顯示帶有文本框和按鈕(搜索)的標籤(輸入用戶名)。 請回復。如有必要,我可以提供所需的文件。 我花了很多時間來解決這個問題。
祝好!
「admin.aspx.cs」的內容是:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
namespace HSE_Monitoring_Application.admin
{
public partial class admin : System.Web.UI.Page
{
private void PopulateRoleList(String userName)
{
RoleList.Items.Clear();
string[] roleNames;
//string roleName="";
roleNames = Roles.GetAllRoles();
Response.Write(roleNames);
foreach (string roleName in roleNames)
{
ListItem roleListItem = new ListItem();
roleListItem.Text = roleName;
roleListItem.Selected = Roles.IsUserInRole(userName, roleName);
RoleList.Items.Add(roleListItem);
}
}
private void UpdateRolesFromList()
{
foreach (ListItem roleListItem in RoleList.Items)
{
string roleName = roleListItem.Value;
string userName = TxtUserName.Text;
Boolean enableRole = roleListItem.Selected;
if (enableRole == true && Roles.IsUserInRole(userName, roleName) == false)
{
Roles.AddUserToRole(userName, roleName);
}
else if (enableRole == false && Roles.IsUserInRole(userName, roleName) == true)
{
Roles.RemoveUserFromRole(userName, roleName);
}
}
}
private void LookupBtn_Click(object sender, EventArgs e)
{
PopulateRoleList(TxtUserName.Text);
UpdateBtn.Visible = true;
}
private void UpdateBtn_Click(object sender, EventArgs e)
{
UpdateRolesFromList();
PopulateRoleList(TxtUserName.Text);
}
}
}
你能表現出一定的代碼嗎? – Kiran1016
你是否在你的代碼隱藏中綁定了RoleList的任何東西? – Matt
你如何綁定你的CheckBoxList?我注意到'Visible = true'沒有雙引號,它應該是'Visible =「True」' – AbZy