mmenu 计数器或搜索在 submenu/child 条记录中不起作用
mmenu counter or search not working in submenu/child records
我正在使用 mmenu (http://mmenu.frebsite.nl/)。我使用 sql 查询 parent 菜单和 child 菜单从数据列表中获取菜单项。我使用 parent 记录在 For Each 进程中获取 child 菜单项。
*.aspx.vb 页面 这会将记录加载到内存中。
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
_ReportMasters = CType(Application("ReportMaster"), List(Of ReportMaster))
_ReportMasterSubReports = CType(Application("ReportMasterSubReport"), List(Of ReportMasterSubReport))
RenderMSRows()
End Sub
加载记录后,我将它们放在菜单中,如下所示:
*.aspx.vb 页面静止
Private Sub RenderMSRows()
Dim ReportName As String
Dim SubReportName As String
Dim ReportNamesub As String
Dim HTMLString As String = ""
Dim ulString As String = "<ul data-role=" & Chr(34) & "listview" & Chr(34) & ">" & vbCrLf
HTMLString = HTMLString & ulString
For Each p In _ReportMasters
ReportName = p.Report_Name
HTMLString = HTMLString & "<li>" & vbCrLf
HTMLString = HTMLString & "<span title='" & ReportName & "'>" & ReportName & "</span>" & vbCrLf
HTMLString = HTMLString & "</a>" & vbCrLf
HTMLString = HTMLString & "<ul>" & vbCrLf
HTMLString = HTMLString & "<li>" & vbCrLf
For Each sr In _ReportMasterSubReports
ReportNamesub = sr.Report_Name
SubReportName = sr.Sub_Report_Name
If ReportNamesub = ReportName Then
HTMLString = HTMLString & "<a href=''title='" & SubReportName & "'>" & SubReportName & " </a>" & vbCrLf
End If
Next
HTMLString = HTMLString & "</li>" & vbCrLf
HTMLString = HTMLString & "</ul>" & vbCrLf
HTMLString = HTMLString & "</li>" & vbCrLf
Next
HTMLString = HTMLString & "</ul>"
Me.MenuBar.Text = HTMLString
End Sub
然后在*aspx页面上:
<script type="text/javascript">
$(document).ready(function () {
$("#my-menu").mmenu({
"classes": "mm-light mm-zoom-panels mm-slide ",
"counters": true,
"header": {
"add": true,
"update": true
},
"searchfield": {
"addTo": "panels",
"add": true,
"search": true,
}
});
</script>
</head>
<body>
<div id="page">
<div class="header FixedTop">
<a href="#my-menu" onmouseover: title="Click To Open Document Menu"></a>
</div>
<!-- The menu -->
<nav id="my-menu" >
<ul>
<asp:Literal runat="server" ID="MenuBar"></asp:Literal>
</ul>
</nav>
</div>
</body>
</html>
当我应用搜索功能时,它可以在 parent 菜单面板中使用,但不能在 child/sub 菜单中使用。
当我应用计数器功能时,它对属于 parent 的每个 child 记录计数显示“1”。有的 children 多,有的少。但是他们所有人的计数都是“1”。
有人有什么建议吗?提前致谢!
我发现 UL 和 LI 元素需要按正确的顺序放置。搜索和计数器在 mmenu 的五个级别上工作。
我正在使用 mmenu (http://mmenu.frebsite.nl/)。我使用 sql 查询 parent 菜单和 child 菜单从数据列表中获取菜单项。我使用 parent 记录在 For Each 进程中获取 child 菜单项。
*.aspx.vb 页面 这会将记录加载到内存中。
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
_ReportMasters = CType(Application("ReportMaster"), List(Of ReportMaster))
_ReportMasterSubReports = CType(Application("ReportMasterSubReport"), List(Of ReportMasterSubReport))
RenderMSRows()
End Sub
加载记录后,我将它们放在菜单中,如下所示: *.aspx.vb 页面静止
Private Sub RenderMSRows()
Dim ReportName As String
Dim SubReportName As String
Dim ReportNamesub As String
Dim HTMLString As String = ""
Dim ulString As String = "<ul data-role=" & Chr(34) & "listview" & Chr(34) & ">" & vbCrLf
HTMLString = HTMLString & ulString
For Each p In _ReportMasters
ReportName = p.Report_Name
HTMLString = HTMLString & "<li>" & vbCrLf
HTMLString = HTMLString & "<span title='" & ReportName & "'>" & ReportName & "</span>" & vbCrLf
HTMLString = HTMLString & "</a>" & vbCrLf
HTMLString = HTMLString & "<ul>" & vbCrLf
HTMLString = HTMLString & "<li>" & vbCrLf
For Each sr In _ReportMasterSubReports
ReportNamesub = sr.Report_Name
SubReportName = sr.Sub_Report_Name
If ReportNamesub = ReportName Then
HTMLString = HTMLString & "<a href=''title='" & SubReportName & "'>" & SubReportName & " </a>" & vbCrLf
End If
Next
HTMLString = HTMLString & "</li>" & vbCrLf
HTMLString = HTMLString & "</ul>" & vbCrLf
HTMLString = HTMLString & "</li>" & vbCrLf
Next
HTMLString = HTMLString & "</ul>"
Me.MenuBar.Text = HTMLString
End Sub
然后在*aspx页面上:
<script type="text/javascript">
$(document).ready(function () {
$("#my-menu").mmenu({
"classes": "mm-light mm-zoom-panels mm-slide ",
"counters": true,
"header": {
"add": true,
"update": true
},
"searchfield": {
"addTo": "panels",
"add": true,
"search": true,
}
});
</script>
</head>
<body>
<div id="page">
<div class="header FixedTop">
<a href="#my-menu" onmouseover: title="Click To Open Document Menu"></a>
</div>
<!-- The menu -->
<nav id="my-menu" >
<ul>
<asp:Literal runat="server" ID="MenuBar"></asp:Literal>
</ul>
</nav>
</div>
</body>
</html>
当我应用搜索功能时,它可以在 parent 菜单面板中使用,但不能在 child/sub 菜单中使用。 当我应用计数器功能时,它对属于 parent 的每个 child 记录计数显示“1”。有的 children 多,有的少。但是他们所有人的计数都是“1”。 有人有什么建议吗?提前致谢!
我发现 UL 和 LI 元素需要按正确的顺序放置。搜索和计数器在 mmenu 的五个级别上工作。