targetFrame _blank MVSiteMapCOntrib
我使用 MVC Contrib 项目为 MVC 站点生成菜单系统。
如何根据 SiteMap 在 标记中生成属性。我通过在 web.config 的提供程序定义中指定
attributesToIgnore="target"
并将该属性添加到站点地图文件中的 mvcSiteMapNode 元素来成功实现此目的。
<mvcSiteMapNode title="Hello World"
controller="Home"
action="Index"
changeFrequency="Always"
updatePriority="Normal"
target="_blank">
</mvcSiteMapNode>
然后,我使用 SiteMap 文件选择属性进行迭代
siteMapNode["target"]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否尝试过创建 SiteMapNodeModel 显示模板?这使您可以按照自己的意愿构建锚标记。如果节点位于当前路径中,我创建了一个专门向锚添加一个类,以便我可以应用特定的 CSS。
这是我使用的 razor 部分视图:
名为“SiteMapNodeModel.cshtml”(razor)的文件位于 Shared/DisplayTemplates 中。当 asp.net Mvc 渲染 SiteMapNodelModel 时,它将自动使用此模板。
Have you tried creating a SiteMapNodeModel display template? That allows you to construct your anchor tag however you wish. I created one to specifically add a class to the anchor if the node was in the current path so that I could apply specific CSS.
Here is the razor partial view I use:
The file, named "SiteMapNodeModel.cshtml" (razor) goes in Shared/DisplayTemplates. When asp.net Mvc rendors a SiteMapNodelModel it will automatically use this template.