在开发ASP.NET MVC网站时,Insus.NET想实现动态产生网站的主菜单及子菜单。
你需要在网站管理后台管理此2张表(Menu,SubMenu)的信息,添加,删除,编辑,更新等。
![](https://images2015.cnblogs.com/blog/28036/201604/28036-20160421102255632-368227285.png)
Sequence字段是序号。主菜单按此序号排序。
IsMenu字段,添加上来的,不一定是菜单字段。
下面Insus.NET有此表添加的内容如下:
![](https://images2015.cnblogs.com/blog/28036/201604/28036-20160421102810007-123852773.png)
以上上主菜单,下面再来看来看看子菜单,结构与数据:
![](https://images2015.cnblogs.com/blog/28036/201604/28036-20160421103238241-1024804212.png)
在子菜单的表结构中,也有一个Sequence字段,这个字段也是序号,不过它是按Controller字段来排序的。可以参考下面实际数据来参考:
![](https://images2015.cnblogs.com/blog/28036/201604/28036-20160421103643460-1479662041.png)
为动态产生,我们分别为这2表创建存储过程:
![](https://images2015.cnblogs.com/blog/28036/201604/28036-20160421104000210-1322329490.png)
![](https://images2015.cnblogs.com/blog/28036/201604/28036-20160421104016257-1941366180.png)
以2张表分别创建model:
![](https://images2015.cnblogs.com/blog/28036/201604/28036-20160421105317929-520186553.png)
![](https://images2015.cnblogs.com/blog/28036/201604/28036-20160421105233773-2109893687.png)
创建2个实体,获取数据库的数据:
![](https://images2015.cnblogs.com/blog/28036/201604/28036-20160421110104570-47354035.png)
![](https://images2015.cnblogs.com/blog/28036/201604/28036-20160421110126913-1780233677.png)
一切准备就绪,我们可以动态创建菜单了:
![](https://images2015.cnblogs.com/blog/28036/201604/28036-20160421110540273-696513518.png)
最后看看运行的效果吧:
![](https://images2015.cnblogs.com/blog/28036/201604/28036-20160421111147773-464707666.gif)