asp.net 2.0 权限树的控制_Asp.Net开发技巧
时间:2010-09-15 来源:缘分星空
做权限的时候,主要实现如下功能
1、该节点可以访问,则他的父节点也必能访问;
2、该节点可以访问,则他的子节点也都能访问;
3、该节点不可访问,则他的子节点也不能访问。
使用带CheckBox的数型结构能得到很好的用户体验,可是编程的难度也是有点增加,如果全部有服务端来完成,那点下刷下,肯定不行,只能使用javascript,javascript调试的时候郁闷的很,一个字类,还有郁闷的递归,麻烦
我以前是使用以下该方法
<script language="javascript">
<!--
//初始化节点
initchecknode(document.all("tvItemClientID").value,document.all("checked").value)
//初始化选中节点
function initchecknode(tree,tvvalue)
{
//获得需要初始化选择状态的节点的字符串.
var selectedNodes = tvvalue;
var arrayNodes = new Array();
arrayNodes = selectedNodes.split(",");
var AllRootNode=new Array();
AllRootNode=document.getElementById(tree).getChildren();
//初始化选择的节点
findAndCheckedNodes(AllRootNode,arrayNodes);
}
//根据已选择的节点的字符串初始化选择的节点
function findAndCheckedNodes(NodeArray,nodeDatas)
{
//alert(NodeArray.length);
if(parseInt(NodeArray.length)==0)
{
return;
}
else
{
for(var i=0;i<parseInt(NodeArray.length);i++)
{
var cNode,nodeData;
cNode=NodeArray[i];
////如果该节点在nodeDatas里则初始化checked = true;
nodeData = cNode.getAttribute("NodeData");
for(var j=0;j<nodeDatas.length;j++)
{
if(nodeDatas[j] == nodeData)
{
cNode.setAttribute("checked","true");
break;
}
}
//如果有子节点,则继续递归
if(parseInt(cNode.getChildren().length)!=0)
findAndCheckedNodes(cNode.getChildren(),nodeDatas);
}
}
}
//-->
//oncheck事件
function tree_oncheck(tree)
{
var i;
var node=tree.getTreeNode(tree.clickedNodeIndex);
var Pchecked=tree.getTreeNode(tree.clickedNodeIndex).getAttribute("checked");
setcheck(node,Pchecked);
setParent(node,Pchecked);
//window.alert(Pchecked);
document.all.checked.value = "";
if (tree.getChildren().length > 0)
{
for (i=0;i<=tree.getChildren().length-1;i++)
{
if (tree.getChildren()[i].getAttribute("Checked"))
{
AddChecked(tree.getChildren()[i]);
}
FindCheckedFromNode(tree.getChildren()[i]);
}
}
}
//设置子节点选中
function setcheck(node,Pchecked)
{
var i;
var ChildNode=new Array();
ChildNode=node.getChildren();
if(parseInt(ChildNode.length)==0)
{
return;
}
else
{
for(i=0;i<ChildNode.length;i++)
{
var cNode;
cNode=ChildNode[i];
cNode.setAttribute("Checked",Pchecked);
//cNode.Checked = Pchecked;
if(parseInt(cNode.getChildren().length)!=0)
{
setcheck(cNode,Pchecked);
}
}
}
}
//设置子节点选中/取消;
[1] [2] [3] 下一页
928 leather shopproperty guys real estateG181476-02vintage beach bagprotege garment bagbest classic handbagsladies motorcycle helmetjobs in st vincent and the grenadineswomens leather flip flopsqm2 cruises photosfaux designer purse partiesM95859-pinkdylan cole twitterisland star caribbean cruisepainting black canvassouthern bellescatwalk runwaylog homes salespa resorts flwrd cottage rentalsred leather shoesbeach bedroomsocean beach homes salecoach bags discountpack suit garment bagfall screensaversfront pocket walletscarnival cruise weddingswholesale food bagssea princess excursionsjimmy choo handbags discountlaptop carry on luggagefashion shows spring summer 2009rei coupon saleocean habitatsartist art workhotels on south beachwindstar cruises 2009authentic bags on salelouis vuitton brandsleopard print cashmereprelit wreathsbeach villas at destinyhabitat collection home fragrance oilgucci maneprada wallets salemark mehaffey artistlouie vuttoncommunity homesmonet oil painting manufacturersleather shop onlinewholesale authentic designer jeanschanel-cc220christian craft suppliesfree pc wallpaper christmascool walletsdiscounted coach walletsbusiness gift ideasrosan fastenerart print on canvasaugust travel dealsbeachside villas seagrovecaribbean princess deck planslarge hobo handbagsdiaper bag sizewholesale purse framerelocation cruises 2009restoration hardware leather furniturecaribbean princess resort cancúncute desk accessoriesused pursesleather duffelsprice caribbean cruiseblue satchel handbagsafety work bootsfall craft projectsabas walletsgucci-208580-01travelpro walkaboutlast minute cruise packagespromotional patio umbrellasstyle falldesigner coin pursedolce and gabbana handbags pinkshort term flat rentdamier wikisnowboard pantsbag handbag pursesynthetic leather bootsoceania cruises reviewGucci-3350jamaica cruisesChanel-CC1290skateboarding shoes reviewsdisney world all inclusive vacationschristmas tree decorating ideasvinyl leather upholsterywomens chapsflat rubber beltM92797luxury vacation rentals panama city beachreviews of cruise shipsgifts adults birthday 50th birthdayrosemary beach rentalviking river cruises 2009quilted evening clutchcelebrity constellation part 2tiger habitatcaribbean cruises dealslake erie beachfront rentalsgucci handbags discountedchristmas snow desktop wallpaperhobo international bags on salecraft suppliesmighty walletbaby phatdesigner bed skirtsart picturesmirage country clubpiece luggage setsfunny sayingsmarson hp 2skechers leather work bootswestern leather bagus wings leather jacketswholesale clutch pursesautomotive spray paintyellow hobo handbagsflorida bahamas sailing chartersrefill pagescheap silver handbagsluxor theateracrylic canvasbiblical art printsvision seas menupeace sign handbagspathfinder suitcases luggage reviewsdiscount neiman marcuswindstar turbinesrosemary beach florida rentalsmobile cruise shipslarge backpack pursemohair coatsnatto international leather goods manufacturerscruises over xmasbedskirt dust rufflebeachhousemarc jacobs littleart history timelinemens leather work bags