一、用户

二、用户组

三、栏目

3.1添加栏目

3.2浏览栏目

浏览栏目这块做个一个树形列表,添加栏目的左侧部分只写了句“左侧列表”就是指这个树形列表,等我们写完替换一下就可以了。

先在【CategoryController】里面添加[ManagePartialTree]action,这里的Partial用来说明是分部视图

/// <summary>
    /// 栏目列表局部树视图
    /// </summary>
    /// <returns></returns>
    [AdminAuthorize]
    public ActionResult ManagePartialTree()
    {
      return View();
    }

右键添加分部视图ManagePartialTree.cshtml。分部视图里用easyui的tree来显示栏目,使用异步加载,视图代码只有一行。

复制代码 代码如下:<ul id="ctree" class="easyui-tree" data-options="url:'@Url.Action("ManageTreeChildrenJson", "Category")'"></ul>
这里从[anageTreeChildrenJson]action获取的json数据。

在【CategoryController】添加JsonResult类型的[anageTreeChildrenJson]

/// <summary>
    /// 子栏目树形控件Json数据
    /// </summary>
    /// <param name="id">栏目id</param>
    /// <returns></returns>
    [AdminAuthorize]
    public JsonResult ManageTreeChildrenJson(int id = 0)
    {
      categoryRsy = new CategoryRepository();
      var _children = categoryRsy.Children(id);
      List<Tree> _trees = new List<Tree>(_children.Count());
      foreach(var c in _children)
      {
        Tree _t = new Tree { id = c.CategoryId, text = c.Name};
        switch (c.Type)
        {
          case 0:
            _t.state = "closed";
            _t.iconCls = "icon-general";
            break;
          case 1:
            _t.state = "open";
            _t.iconCls = "icon-page";
            break;
          case 2:
            _t.state = "open";
            _t.iconCls = "icon-link";
            break;
        }
        _trees.Add(_t);
      }
      return Json(_trees, JsonRequestBehavior.AllowGet);
    }

这里默认id=0,根据id查找子栏目,然后遍历子栏目生成树的节点数据。

switch (c.Type) 是根据栏目类型不同来,来设置节点状态并,设置不同的图标。最后以Json类型返回。

修改一下上一节中添加栏目的视图ManageAdd.cshtml,将左侧列表替换成@Html.Action("ManagePartialTree", "Category")。替换后ManageAdd.cshtml

@model Ninesky.Models.Category

@{
  ViewBag.Title = "ManageAdd";
  Layout = "~/Views/Layout/_Manage.cshtml";
}


<div class="workspace">
  <div class="inside">
    <div class="notebar">
      <img alt="" src="/UploadFiles/2021-04-02/Category.gif">

添加一个单页类型节点,在添加一个链接类型节点看一下

MVC4制作网站教程第四章 浏览栏目4.2

点一下栏目树前的小箭头能够显示和关闭下级栏目。但点栏目名称没什么反应,我希望的是点栏目名称能够跳转到栏目详细信息页面~/Category/ManageDetails/id,现在用js实现。打开ManagePartialTree.cshtml,在下面添加脚本。

<script type="text/javascript">
  using("tree", function () {
    $("#ctree").tree({
      onClick: function (node) {
        top.location ="@Url.Action("ManageDetails", "Category")/"+node.id;
      }
    });
  });
</script>

完工。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!