序:在功能性比較強(qiáng)大的后臺管理網(wǎng)站處于各種角度考慮多有應(yīng)用權(quán)限管理功能。以公司內(nèi)部管理系統(tǒng)為例,管理員根據(jù)不同員工所在不同部門賦予其不同權(quán)限,或者根據(jù)上下級隸屬關(guān)系實(shí)現(xiàn)“金字塔”管理。本文內(nèi)容有不盡不實(shí)之處懇請指正。
正文:
如下效果圖是否令某用戶具備相應(yīng)權(quán)限用checkbox狀態(tài)區(qū)別存儲。

(一)儲存
這里的權(quán)限功能(類別)名稱和權(quán)限模塊(具體)名稱均是手動(dòng)輸入數(shù)據(jù)庫,不可增刪改查。本例將某權(quán)限模塊作為最基本元素,是否具備該權(quán)限用1或0表示,進(jìn)而將當(dāng)前用戶所有權(quán)限鏈接組成二進(jìn)制字符串儲存在數(shù)據(jù)庫中。如示例代碼1.1
(二)讀取 如示例代碼1.2
(三)前臺代碼 如下
代碼如下:
//利用js添加逗號和豎線 ,通過hidden傳值
<script language="javascript" type="text/javascript">
function getcheck() {
var inputs = document.getElementById("cbpanel");
var chks = inputs.getElementsByTagName("input");
var str = "";
for (var i = 0; i < chks.length; i++) {
if (chks[i].type == 'checkbox') {
str += chks[i].value + "," + chks[i].checked + "|";
}
}
document.getElementById("Hidden1").value = str;
}
<script>
<body>
<div id="cbpanel"> <asp:Literal ID="LiteralRole" runat="server"></asp:Literal>
<input id="Hidden1" runat="server" type="hidden" /></div>
</body>
代碼如下:
示例代碼1.2
/// <summary>
/// 綁定所有模塊分類
/// </summary>
private void BindAllModule()
{
StringBuilder sb = new StringBuilder();
sb.Append("<table class=/"AddRole/" width=/"100%/" border=/"0/" cellpadding=/"0/" cellspacing=/"0/">");
Bll_User_Module mbll = new Bll_User_Module();
IList<User_Model.Model_User_Module> list = mbll.GetAllList();//得到泛型集合
string moduleidstr = "";
for (int i = 0; i < list.Count; i++)
{
sb.Append("<tr><th style=/"width: 100px; height: 36px;/">");
新聞熱點(diǎn)
疑難解答
圖片精選