简体   繁体   English

如何从局部视图获取 _Layout 页面内的元素

[英]How to get an element inside a _Layout page from a Partial View

I have a _Layout page that contains the standard elements.我有一个包含标准元素的_Layout页面。

  <body id="layoutBody">
   <div class="wrapper">
    @Html.Partial("_TopMenu")
    @Html.Partial("_LeftMenu")
    <div class="content-wrapper">
        <!-- Content Header (Page header) -->
        <!-- Main content -->
        <section class="content">
            @RenderBody()
        </section><!-- /.content -->
    </div><!-- /.content-wrapper -->
    <footer class="main-footer">
        <div class="pull-right hidden-xs">
            <b>Version</b> 1.0
        </div>
    </footer>
   </div><!-- ./wrapper -->

   @Scripts.Render("~/bundles/jquery")
   @Scripts.Render("~/bundles/bootstrap"
  </body>

Inside of this layout I have a "Home", "Index" page inside the @RenderBody with the following div:在此布局中,我在@RenderBody有一个“主页”、“索引”页面, @RenderBody包含以下 div:

<div class="small-box bg-yellow">
   <div class="inner">
      <h4>Phone Directory</h4>
      <h5>New</h5>
   </div>
   <div class="icon">
      <i class="mi mi-contact-phone"></i>
   </div>
   <a id="newUserCollapse" role="button" class="list-group-item" data-toggle="collapse" data-target="#new">
      <span class="glyphicon glyphicon-chevron-right"></span>
      Add New User
      <span class="fa fa-user-plus pull-right"></span>
   </a>
   <div id="new" class="sublinks collapse">
      <iframe src="~/PhoneMasters/Create" id="addUserIframe" align="middle" frameborder="0" style="width: 100%; height :100%; min-height: 600px; padding-top: 0px"></iframe>
   </div>
</div>

What I am trying to do is disable the scrollbar in the _Layout view when the newUserCollapse is on show.bs.collapse .我想要做的是当newUserCollapseshow.bs.collapse上时禁用_Layout视图中的滚动条。 Any way that can be accomplished?有什么办法可以实现吗?

Thanks in advance!提前致谢!

要访问 JQuery 中的 PartialView 元素,您需要使用Document

$(document).find("#YourScrollId").prop('disabled', true);

Add the following Javascript code somewhere on the page:在页面的某处添加以下 Javascript 代码:

    <script>
       $(document).ready(function(){
          /* Event to disable scrolling when #newUserCollapse is visible */
          $('#newUserCollapse').on('show.bs.collapse', function () {
             $('html, body').css({ overflow: 'hidden', height: '100%' });
          });

          /* Event to restore scrolling when #newUserCollapse is hidden */
          $('#newUserCollapse').on('hidden.bs.collapse', function () {
             $('html, body').css({ overflow: 'auto', height: 'auto' });
          });
       });
    </script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 MVC如何刷新布局页面中的局部视图 - MVC how to refresh partial view which is in layout page MVC-如何在主版面页面中正确调用局部视图? - MVC - How to correctly call partial view in master layout page? 部分视图也返回共享布局页面 - Partial View returning shared layout page as well 如何在MVC中从主视图内部刷新/重新加载局部视图 - How to refresh/reload partial view from inside main view in MVC 使用javascript调用元素内部的部分视图 - Call partial view inside element with javascript 我如何在Razor的部分视图中获取HTMLPREFIX - How can I get HTMLPREFIX inside the partial view i Razor 部分视图中的Javascript如何使其仅在页面上多次出现部分视图时才出现一次 - Javascript in Partial view how to get it to only appear once if the partial view occurs multiple times on the page 从局部视图内部修改主视图 - modifying main view from inside partial view 如何从单独的局部视图模态刷新提交时在主索引页面上的局部视图 - How can I refresh a partial view on the main index page on a submit from a separate partial view modal 使用Ajax和MVC 3,如何将值从同一页面的一个局部视图传递到另一局部视图? - With Ajax and MVC 3, how can I pass values from one partial View to another partial View on the same page?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM