首页 > 编程 > C# > 正文

C#实现DataList里面嵌套DataList的折叠菜单

2019-10-29 21:36:07
字体:
来源:转载
供稿:网友

这篇文章主要介绍了C#实现DataList里面嵌套DataList的折叠菜单,以实例形式详细分析了DataList嵌套实现折叠菜单所涉及的JavaScript、HTML与C#相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#实现DataList里面嵌套DataList的折叠菜单。分享给大家供大家参考,具体如下:

点击前效果图如下:

C#实现DataList里面嵌套DataList的折叠菜单

点击后效果图如下:

C#实现DataList里面嵌套DataList的折叠菜单

具体实现代码如下:

Javascript脚本

 

 
  1. <script type="text/javascript"
  2. function showmenu(id) 
  3. smallimg = eval("smallimg"+id); 
  4. img =eval("img"+id); 
  5. if(smallimg.style.display =="none"
  6. {  
  7. eval("smallimg"+id+".style.display=/"/";");//全部显示 
  8. img.src="Image/tree_folder3.gif";//显示为- 
  9. else 
  10. eval("smallimg"+id+".style.display=/"none/";"); //全部隐藏 
  11. img.src="Image/tree_folder4.gif";//显示为+ 
  12. </script> 

HTML代码如下:

 

 
  1. <body> 
  2. <form id="Form1" method="post" runat="server"
  3. <font face="宋体"></font> 
  4. <table width="679" height="100%" border="0" cellpadding="0" cellspacing="0" align="center"
  5. <tr> 
  6. <td align="center" valign="top"
  7. <strong>版块设 置</strong> 
  8. <br /> 
  9. <br /> 
  10. 管理选项:<asp:Button ID="btnAdd" runat="server" 
  11. OnClick="btnAdd_Click" Text="添加一级版块"/><br /> 
  12. <br /> 
  13. <asp:DataList ID="DataList1" runat="server" CellSpacing="0" CellPadding="0" Width="679" 
  14. OnItemDataBound="DataList1_ItemDataBound"
  15. <HeaderTemplate> 
  16. <table width="679" border="0" cellpadding="0" cellspacing="0" bgcolor="#000000" class="border"
  17. <tr bgcolor="#a4b6d7" class="title"
  18. <td height="25" align="center"
  19. <strong>版块名称</strong></td> 
  20. <td height="20" align="center"
  21. <strong>操作选项</strong></td> 
  22. </tr> 
  23. </HeaderTemplate> 
  24. <ItemTemplate> 
  25. <tr bgcolor="ECF5FF" class="tdbg"
  26. <td height="22" width="50%"
  27. <img id="img<%#Eval("BigClassID")%>" src="Image/tree_folder4.gif" width="15" height="15" onclick="showmenu(<%#Eval("BigClassID")%>)"><%#Eval("BigClassName")%></td> 
  28. <td align="center" width="50%"
  29. <a href='SmallClassAdd.aspx?BigClassID=<%#Eval("BigClassID")%>'
  30. 添加二级版块</a> | <a href='BigClassModify.aspx?BigClassID=<%#Eval("BigClassID")%>'
  31. 修改一级版块</a> | <a href='BigClassDelete.aspx?BigClassID=<%#Eval("BigClassID")%>' 
  32. onclick="return confirm('确定删除吗,下级版块及相关帖子都将被删除,且不可恢复!!!')">删除一级版块</a></td> 
  33. </tr> 
  34. <tr bgcolor="ECF5FF" class="tdbg" width="100%"
  35. <td colspan="2" width="100%"
  36. <asp:DataList ID='dlstSmallClass' EnableViewState='false' runat='server'
  37. <HeaderTemplate> 
  38. <table width="679" border="0" cellpadding="0" cellspacing="0" bgcolor="#000000" class="border"
  39. </HeaderTemplate> 
  40. <ItemTemplate> 
  41. <tr id="smallimg<%#Eval("BigClassID")%>" style="display:none" bgcolor="#E3E3E3" class="tdbg"
  42. <td height="22" width="50%" colspan="3"
  43.  
  44. <img src="Image/tree_folder3.gif" width="15" height="15"><%#Eval("SmallClassName")%></td> 
  45. <td align="center" width="50%" colspan="3"
  46.  
  47. <a href='SmallClassModify.aspx?SmallClassID=<%#Eval("SmallClassID")%>'
  48. 修改二级版块</a> | <a href='SmallClassDelete.aspx?SmallClassID=<%#Eval("SmallClassID")%>' 
  49. onclick="return confirm('确定删除吗,相关帖子都将被删除,且不可恢复!!!')">删除二级版块</a></td> 
  50. </tr> 
  51. </ItemTemplate> 
  52. <FooterTemplate> 
  53. </table> 
  54. </FooterTemplate> 
  55. </asp:DataList> 
  56. </td> 
  57. </tr> 
  58. </ItemTemplate> 
  59. <FooterTemplate> 
  60. </table> 
  61. </FooterTemplate> 
  62. </asp:DataList> 
  63. </td> 
  64. </tr> 
  65. </table> 
  66. </form> 
  67. </body> 

上面的功能有点缺陷(ques1:多行时候不能折叠,默认只折叠第一行;ques2:不支持IE),现在改善如下:

 

 
  1. <script type="text/javascript"
  2. function showmenu(id) 
  3. var smallimg = document.getElementById("smallimg"+id); 
  4. var img = document.getElementById("img"+id); 
  5. if(smallimg.style.display =="none"
  6. {  
  7. smallimg.style.display=""
  8. img.src="Image/tree_folder3.gif";//显示为- 
  9. else 
  10. smallimg.style.display ="none"
  11. img.src="Image/tree_folder4.gif";//显示为+ 
  12. </script> 

 

 
  1. <body> 
  2. <form id="Form1" method="post" runat="server"
  3. <font face="宋体"></font> 
  4. <table width="679" height="100%" border="0" cellpadding="0" cellspacing="0" align="center"
  5. <tr> 
  6. <td align="center" valign="top"
  7. <strong>版 块设 置</strong> 
  8. <br /> 
  9. <br /> 
  10. 管理选项:<asp:Button ID="btnAdd" runat="server" OnClick="btnAdd_Click" Text="添加一级版块"/><br /> 
  11. <br /> 
  12. <asp:DataList ID="DataList1" runat="server" CellSpacing="0" CellPadding="0" Width="679" 
  13. OnItemDataBound="DataList1_ItemDataBound"
  14. <HeaderTemplate> 
  15. <table width="679" border="0" cellpadding="0" cellspacing="0" bgcolor="#000000"class="border"
  16. <tr bgcolor="#a4b6d7"class="title"
  17. <td height="25" align="center"
  18. <strong>版块名称</strong> 
  19. </td> 
  20. <td height="20" align="center"
  21. <strong>操作选项</strong> 
  22. </td> 
  23. </tr> 
  24. </HeaderTemplate> 
  25. <ItemTemplate> 
  26. <tr bgcolor="ECF5FF"class="tdbg"
  27. <td height="22" width="50%"
  28. <img id="img<%#Eval("BigClassID")%>" src="Image/tree_folder4.gif" width="15" height="15" 
  29. onclick="showmenu(<%#Eval("BigClassID")%>)"><%#Eval("BigC <td align="center" width="50%" colspan="3"> 
  30. <a href='SmallClassModify.aspx?SmallClassID=<%#Eval("SmallClassID")%>'
  31. 修改二级版块</a>|<a href='SmallClassDelete.aspx?SmallClassID=<%#Eval("SmallClassID")%>' 
  32. onclick="return confirm('确定删除吗,相关帖子都将被删除,且不可恢复!!!')">删除二级版块</a> 
  33. </td> 
  34. </tr> 
  35. </ItemTemplate> 
  36. <FooterTemplate> 
  37. </table> 
  38. </FooterTemplate> 
  39. </asp:DataList> 
  40. </td> 
  41. </tr> 
  42. </ItemTemplate> 
  43. <FooterTemplate> 
  44. </table> 
  45. </FooterTemplate> 
  46. </asp:DataList> 
  47. </td> 
  48. </tr> 
  49. </table> 
  50. </form> 
  51. </body> 

希望本文所述对大家C#程序设计有所帮助。


注:相关教程知识阅读请移步到c#教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表