layui点击左侧导航栏,实现不刷新整个页面,只刷新局部

1 篇文章 0 订阅

    其实这篇文章是给自己看的,以后忘记怎么做回来还能看一下

    点击左侧菜单栏只刷新局部,局部就用iframe。

    首先先建layout页,建左侧菜单栏,然后下面的@RenderBody()

<div class="layui-side layui-bg-black">
      <div class="layui-side-scroll">
          <!-- 左侧导航区域(可配合layui已有的垂直导航) -->
          <ul class="layui-nav layui-nav-tree" lay-filter="test">

              <li class="layui-nav-item layui-nav-itemed Card">
                  <a class="" href="#">名片审核</a>
              </li>

              <li class="layui-nav-item Project">
                  <a href="#">项目审核</a>
              </li>

              <li class="layui-nav-item Funds"><a href="#">需求审核</a></li>
          </ul>
      </div>
</div>
<div class="layui-body">
    @RenderBody()
    @RenderSection("scripts", required: false)
</div>

    然后在最后写上js用于点击跳转,上面的@RenderSection("scripts", required: false)和下面的#demoAdmin都在另一个页面中,也就是放iframe的页面

    <script>
        //JavaScript代码区域
        layui.use('element', function () {
            var $ = layui.jquery
                , element = layui.element;          
        });
        $(".Card").click(function () {
            $("#demoAdmin").attr("src", "/Admin/CardManagement")
        });
        $(".Project").click(function () {
            $("#demoAdmin").attr("src", "/Admin/ProjectManagement")
        });
        $(".Funds").click(function () {
            $("#demoAdmin").attr("src", "/Admin/FundsManagement")
        });
    </script>

    新建HomeController,新建Index页面

    


@{
    Layout = null;
    Layout = "~/Areas/Admin/Views/Shared/_Layout.cshtml";
}

<iframe src="/Admin/CardManagement" frameborder="0" id="demoAdmin" style="width: 100%; height: 100%;"></iframe>


@section scripts{
    <script>
    reHeight();
    $(window).resize(function () {
        reHeight();
    });
    //设置iframe高度
    function reHeight() {
    var bodyHeight = $(window).height();
    bodyHeight = bodyHeight - 107;
    if (bodyHeight<400) {
        bodyHeight = 400;
    }
    $("#demoAdmin").height(bodyHeight);
    }
    </script>

    引用一下上面的layout。

    其他页面引用Layout = "~/Areas/Admin/Views/Shared/_LayoutPage.cshtml";

    我把css和js引用都放在了另一个layout里,所以我需要引用一下,否则页面会乱。

  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值