2017-09-26 24 views
0

標準要素を含む_Layoutページがあります。パーシャルビューから_Layoutページ内の要素を取得する方法

<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> 

は、私は何をしようとしていますが_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> 

は、このレイアウトの内部Iは、以下のdivで@RenderBody内部の「ホーム」、「インデックス」ページを持っていますnewUserCollapseshow.bs.collapseにあるときに表示します。 どのような方法で達成できますか?

ありがとうございます!どこかのページに次のJavaScriptコードを追加します。

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

答えて

0

、あなたはドキュメントを使用する必要が

<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> 
+0

答えをいただき、ありがとうございます。しかし、問題は、これを部分ビューから呼び出して、_Layoutページ内の要素を取得しようとしていることです。あなたがそれを提供した解決策は、それが逆の場合にはうまくいくでしょう。 – 1moreLearner

+0

@ 1moreLearner Documentを使うときは、** All **のページの要素を読んでいるので、どこから電話しても問題ありません。これを実装しようとしましたか? –

+0

私は問題が何かを理解したと思います。イベントを$( '#newUserCollapse')からon( 'show.bs.collapse'、function(){to $( '#newUserCollapse'))に変更すると、ソリューションが機能します。なぜ私はその要素の中にデータトグル= "崩壊"を持っているのか理解していますが、今私がクリックイベントを離れると、スクロールバーは無効のままで、それは私が望むものではありません。 – 1moreLearner

0

:jQueryのでPartialView要素にアクセスするには

+0

回答ありがとうございましたが、私がMatheusに返答したのと同じケースです。これは_Layoutから要素を取得しようとしているパーシャルビューから呼び出されています。 – 1moreLearner