[英]MvcSiteMapProvider Menu with Filter Attributes in the Controller Class in Asp.Net Mvc 5
我正在使用这个库: https : //github.com/maartenba/MvcSiteMapProvider
我想要这样的菜单结构:
<ul>
<li><a href="/">Home</a></li>
<li>
<a href="#">Stuff</a>
<ul>
<li><a href="/Stuff/"<li>
<li><a href="/Stuff/Add"<li>
</ul>
</li>
</ul>
我正在使用不带xml的MvcSiteMapNode; 只是装饰者的方式。
所以我有这个控制器:
[MvcSiteMapNode(Title = "Stuff", ParentKey = "root", Key = "stuff-key", Url = "#", ImageUrl = "fa-stuff")]
public class StuffController : Controller {
[MvcSiteMapNode(Title = "List", ParentKey = "stuff-key", Key = "stuff-list")]
public ActionResult Index(){}
[MvcSiteMapNode(Title = "Add", ParentKey = "stuff-key", Key = "stuff-add")]
public ActionResult Add(){}
}
我的问题是,当我获取url / Stuff /时,未选择索引节点,而是仅选择了父节点(stuff-key)。 即使我GET / Stuff / Index发生的情况也一样。
这里有两个问题:
我猜想第二个问题,您想使节点成为分组目的,在这种情况下,应使其不可单击。
[MvcSiteMapNode(Title = "Stuff", ParentKey = "root", Key = "stuff-key", Clickable = false, ImageUrl = "fa-stuff")]
这使它为“材料”生成纯文本,而不是超链接。
<ul id="menu">
<li>
<a href="/" title="Home">Home</a>
</li>
<li>
Stuff
<ul>
<li>
<a href="/Stuff" title="List">List</a>
</li>
<li>
<a href="/Stuff/Add" title="Add">Add</a>
</li>
</ul>
</li>
</ul>
但是,请注意,在我发布补丁之前,匹配问题不会消失。 因此,只有在高于4.5.1的版本可用时,它才可以正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.