即在页面上,可以通过对树的每个节点的复选框的打钩与否来设置用户权限。
微软的不要.
或者有谁做过项目有好的树,在这里,或发到
微软的不要.
或者有谁做过项目有好的树,在这里,或发到
解决方案 »
- extjs gridPanel中根据某列的信息条件,设置行的背景色如何实现?
- 在线支付要注意哪些方面
- 如何修复 IIS 我的问题比较复杂,通过搜索引擎没有得到解释
- [求助] GridView样式无效
- 请问2.0下的TreeView如何在选择某个结点后不postback?
- xml读取节点属性问题
- 为什么我的ASP.NET调用不了javascript???
- IIS内存释放之后任务管理器显示内存使用依然较高,运行一天后内存超过3G,大家帮忙,在线等待
- 如何让文本框的value值等于一个变量的值或让一个变量的值等于另外一个变量?
- 请指教,js与asp.net问题
- WEB程序测试问题?????
- 错误消息的显示
还有这个
http://www.freevbcode.com/ShowCode.asp?ID=652HOWTO: Populate a Treeview Control with an XML Filehttp://support.microsoft.com/default.aspx?scid=kb;EN-US;q244954
http://msdn.microsoft.com/workshop/webcontrols/behaviors/library/treeview/treeview.asphttp://dev.csdn.net/article/28/28499.shtm
http://dev.csdn.net/article/28/28502.shtmhttp://aspnet.4guysfromrolla.com/articles/051403-1.aspx
因为只要页面一回发,树就会重新生成,那么所有的节点状态都会变成初始的未选中复选框的状态。
1:有颜色很讨厌。
2:会在wwwroot下生成额外的文件夹
http://dev.csdn.net/article/28/28502.shtm
<script language="javascript">
<!--
function switchstatus(obj,imgobj){
if (document.all(obj).style.display=='none'){
document.all(obj).style.display='block';
document.all(imgobj).src='../image/menu_open.gif';
}else{
document.all(obj).style.display='none';
document.all(imgobj).src='../image/menu_close.gif';
}
}
-->
</script>
<script language="vbscript">
<!--
sub menuclick(obj)
'if not cflag then
' msgbox false
' exit sub
'end if
dim m,flag
for each m in document.formSV.elements
if m.name=obj then
flag=m.checked
exit for
end if
next
for each m in document.formSV.elements
if left(m.name,5)="CHECK" then
if m.value=right(obj,2) then
m.checked=flag
end if
end if
next
end sub
-->
'formsv.CHECK0101.checked=true
'formsv.MENUCHECK001.checked=true
</script>
上面这段放在ASPX页面上,
在要显示出树的地方放个label控件,然后在程序里面动态的写HTML代码进去,还可以动态的加的.
如果要存取是否选项定时可以这样Request.Form("check" & i)
以下是一段我写的个函数,自己慢慢看
Private Sub qxshow()
Dim qxlb As String
Dim fid, mid, fname, mname, sqlstr As String
Dim yn, kk As Integer
qxlb = Label_qxlb.Text
qxid = qxlb.Split(",")
yn = -1
kk = -1
str = "<table width='98%' align='center' border='0' cellpadding='0' cellspacing='0'>"
str = str + Chr(13) + Chr(10)
str = str + "<tr class=listtitleborder>"
str = str + Chr(13) + Chr(10)
str = str + "<td align='left' colspan='2'> <nobr>权限设置 </nobr> </td></tr>"
str = str + Chr(13) + Chr(10)
str = str + "<tr> <td align='left' valign='top'>"
str = str + Chr(13) + Chr(10)
str = str + "<table width='100%' class='tableframe' align='center' border='0' cellpadding='0' cellspacing='0' id='qxmain' name='qxmain' style='display:block' style='Margin:0px 0px 0px 0px'>"
str = str + Chr(13) + Chr(10)
'挑选出需要设置权限的主菜单
sqlstr = "SELECT FromMenu.id, FromMenu.upid, FromMenu.name,MainMenu.name AS upname" & _
" FROM FromMenu INNER JOIN" & _
" MainMenu ON FromMenu.upid = MainMenu.id" & _
" ORDER BY FromMenu.upid"
Dim conn As SqlConnection = New SqlConnection(ConfigurationSettings.AppSettings("connstr"))
Dim objcmd As SqlCommand = New SqlCommand(sqlstr, conn)
Dim objreader As SqlDataReader
Try
objcmd.Connection.Open()
objreader = objcmd.ExecuteReader
Do While objreader.Read
fid = objreader.GetInt32(0).ToString
mid = objreader.GetInt32(1).ToString
fname = objreader.GetSqlString(2).ToString
mname = objreader.GetSqlString(3).ToString
If mid <> yn Then
yn = mid
If kk = -1 Then
maint(fid, mid, fname, mname)
kk = 1
Else
mainw()
maint(fid, mid, fname, mname)
kk = 1
End If
Froms(fid, mid, fname, mname)
Else
Froms(fid, mid, fname, mname)
End If
Loop
mainw()
str = str + " </table> "
objcmd.Connection.Close()
Catch ex As SqlException
Response.Write("error retrieving data.")
End Try
Label1.Text = str
Label_qxstr.Text = qxstr
End Sub