我是靠谱客的博主 腼腆斑马,最近开发中收集的这篇文章主要介绍c# mvc5 view 多层_MVC5+EF6 入门完整教程13 -- 动态生成多级菜单,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

稍微有一定复杂性的系统,多级菜单都是一个必备组件。

本篇专题讲述如何生成动态多级菜单的通用做法。

我们不用任何第三方的组件,完全自己构建灵活通用的多级菜单。

需要达成的效果:容易复用,可以根据model动态产生。

文章提纲

概述要点 && 理论基础

详细步骤

一、分析多级目录的html结构

二、根据html结构构建data model

三、根据data model动态生成树形结构

四、解析树形结构成html

总结

概述要点 && 理论基础

要实现动态菜单,只要解决两个问题:

1. 前端调用

2. 后端可根据model生成菜单

前端调用我们通过自定义html helper的方法;

后端生成菜单我们通过Mvc的TagBuilder来实现。

一、如何自定义html helper?

前面系列文章我们专门介绍过html helpers,例如:@Html.ActionLink("linkText","someaction","somecontroller",new{ id ="123"},null)生成结果:

linkText

本次专题我们需要自定义一个html helper用来生成菜单, 命名为GetMenuHtml

View中可以通过 @Html.GetMenuHtml() 实现输出菜单的html

先简单介绍下如何实现自定义的helper, 具体过程在详细步骤中再说。

一、定义一个public static的类,在此类中再添加一个public static的方法, 首个参数为 this HtmlHelper helper,该方法就可以像普通的html helper来使用。

二、前端引入类的命名空间:

@using XEngine.Web.Utility.MenuHelper

三、在要使用的地方添加:

@Html.SayHi()

二、MVC生成html标签

我们使用TagBuilder

System.Web.Mvc命名空间下TagBuilder的使用详细介绍:

大家重点关注下方框部分,详细步骤中可以看到如何使用。

详细步骤

分成四大步骤

一、分析多级目录的html结构

首先打开一个样例,如下图

对应的html为

大家可以看到,菜单最外面的根节点是一个

, 后面跟一个 和 , 里面就是包裹的具体菜单。

具体菜单里面是

, 如果有子菜单通过

最后

以上就是腼腆斑马为你收集整理的c# mvc5 view 多层_MVC5+EF6 入门完整教程13 -- 动态生成多级菜单的全部内容,希望文章能够帮你解决c# mvc5 view 多层_MVC5+EF6 入门完整教程13 -- 动态生成多级菜单所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部