是否可以向 MvcSiteMap 菜单节点添加分隔符?
我希望能够在使用 MvcSiteMap 库创建的菜单中添加一个分隔栏。
mvcSiteMapNodes 解析为 项目,其中包含操作方法。 但是,我只想要一个虚拟
节点,它在我的菜单中呈现分隔项。
例如,
<mvcSiteMapNode title="Admin" url="#admin" roles="Admin">
<mvcSiteMapNode title="Edit Users" controller="User" action="Users" roles="Admin" />
<mvcSiteMapNode class="divider" />
<mvcSiteMapNode title="User Audit" controller="User" action="Audit" roles="Admin" />
</mvcSiteMapNode>
有谁知道如何实现这一点?
I'd like to be able to add a separator bar in my menu which is created using MvcSiteMap library.
The mvcSiteMapNodes resolve to <li></li>
items with the action method inside.
However, I would like just a dummy <li class="divider"></li>
node which renders a divider item in my menu.
e.g.
<mvcSiteMapNode title="Admin" url="#admin" roles="Admin">
<mvcSiteMapNode title="Edit Users" controller="User" action="Users" roles="Admin" />
<mvcSiteMapNode class="divider" />
<mvcSiteMapNode title="User Audit" controller="User" action="Audit" roles="Admin" />
</mvcSiteMapNode>
Does anyone know how this can be achieved?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
处理此问题的最佳方法是将分隔符站点地图节点放入 xml 站点地图文件中,并将 clickable 属性设置为 false。如果它想要一个控制器和/或操作,那么专门为分隔符制作一个。
然后创建您自己的模板来呈现菜单。在模板中,您可以检查节点模型并将您想要的任何 html 属性放入渲染结果中。因此,如果站点地图节点的可点击属性为 false,您可以在 html 类属性中插入一个字符串,并根据需要设置 css 样式。
请参阅以下网址中的“自定义渲染输出”部分: https://github.com/maartenba /MvcSiteMapProvider/wiki/HtmlHelper-functions
The best way to handle this is to put the separator sitemap node in your xml sitemap file and set the clickable attribute to false. If it wants a controller and/or action then make one up specifically for a separator.
Then create your own templates for rendering the menu. Within the templates you can examine the node model and put what ever html attributes you want in the rendered result. So if the sitemap node clickable attribute is false you can insert a string in the html class attribute and have your css style it however you like.
See the "Customizing rendered output" section at this url : https://github.com/maartenba/MvcSiteMapProvider/wiki/HtmlHelper-functions
MvcSiteMap 支持 mvcSiteMapNode 上的“可点击”属性,该属性可以呈现空
,但看不到指定类的方法,并且似乎需要有效的控制器和操作!
如果这不好,那么 JQuery 可以为你做到这一点......
给定这个 html:-
和这个 JQuery 调用:-
你应该得到你需要的输出。
我创建了一个 JSFiddle 来展示它的工作原理。
更新
好的,这里有一个更新的解决方案,可以在您所需的位置插入分隔线:-
JSFiddle 更新以显示所有这些
The MvcSiteMap supports a 'clickable' attribute on mvcSiteMapNode which can render an empty
but can't see a way to specify the class and it seems to require a valid controller and action!
If that's no good then JQuery could do it for you....
Given this html:-
and this JQuery call:-
you should get your required output.
I've created a JSFiddle to show it working.
UPDATE
Ok here's an updated solution to insert the divider at your required location:-
JSFiddle updated to show all of these
如果将标题设置为“分隔符”并将可点击设置为“假”,则节点将显示为一行
If you set the title as "Separator" and clickable to "false" the node will appear as a line