1

javascript / jqueryとasp:ContentPlaceHoldersに関連する厄介な問題があり、解決できないようで、一日中試しています。

C#を使用したASP.NETWebサイトがあります。フロントページ(Default.aspx)には、マスターページ(MasterPage.master)があります。私もコントロールを持っています-bslider.ascx

http://bxslider.com/に表示されている画像スライダーを実装しようとしています

私のコントロールのコードは次のようになります

<script src="../scripts/jquery.js" type="text/javascript"></script>
<script src="../js/jquery.bxSlider.min.js" type="text/javascript">
    $(document).ready(function () {
        $('#slider1').bxSlider();
    });    
</script>

<div id="slider1">
    <div>Slide one content</div>
    <div>Slide two content</div>
    <div>Slide three content</div>
    <div>And so on...</div>
</div>

Default.aspxの関連コードは次のとおりです。

<asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
    <div class="sliderContainer">
        <uc4:BSlider ID="slider1" runat="server" />  
    </div>
</asp:Content>  

MasterPage.masterの関連コードは次のとおりです。

<body>
<form id="form1" runat="server">
    <div id="ContentContainer">
        <asp:contentplaceholder id="ContentPlaceHolder2" runat="server">
            <uc3:headerLeft ID="Header2" runat="server" /> 
        </asp:contentplaceholder>
    </div>
</form>
</body>

ただし、これは機能しません。内部divのコンテンツが次々に表示されます。私はこれを標準の.htmlWebページでテストしましたが、機能したので、ASP.NET側と関係があるはずです。

誰かがこの問題を手伝ってもらえますか?

前もって感謝します。

4

2 に答える 2

2

私は問題を解決しました!これは、JQueryライブラリとBxSliderライブラリの間の競合でした。

次のコードで修正されました。

<script src="../scripts/jquery.js" type="text/javascript"></script>
<script src="../js/jquery.bxSlider.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
    jQuery.noConflict();
    $('#slider1').bxSlider();
});    
</script>

それが紛争の問題であることに気づかなかったことで自分を蹴りました。これが、私と同じような状況で立ち往生している他の人の助けになることを願っています。

于 2012-09-20T11:56:02.657 に答える
0

私はそれを推測します

<script src="../scripts/jquery.js" type="text/javascript"></script>
<script src="../js/jquery.bxSlider.min.js" type="text/javascript">
    $(document).ready(function () {
        $('#slider1').bxSlider();
    });    
</script>

は実際にはにあり<uc3:headerLeft ID="Header2" runat="server" />ます。その場合、ページにスクリプトが印刷されません。

<body>
<form id="form1" runat="server">
    <div id="ContentContainer">
        <asp:contentplaceholder id="ContentPlaceHolder2" runat="server">
            <uc3:headerLeft ID="Header2" runat="server" /> 
        </asp:contentplaceholder>
    </div>
</form>
</body>

マスターページからの上記のコードでは、デフォルトのコンテンツを定義しました。現在実行中のページがない 場合にのみ印刷されます。<asp:Content ContentPlaceHolderID="ContentPlaceHolder2"単純にheaderLeftをcontentplaceholderの外に移動してみてください。

<div id="ContentContainer">
    <uc3:headerLeft ID="Header2" runat="server" /> 
    <asp:contentplaceholder id="ContentPlaceHolder2" runat="server">

    </asp:contentplaceholder>
</div>
于 2012-09-13T16:27:15.180 に答える