0

リストビューとデータページャーを持つコンテンツページに以下のコードを書きました

    <asp:Content ID="content2" runat="server" ContentPlaceHolderID="HeadContent">
    <link href="../js/fancybox/jquery.fancybox-1.3.4.css" rel="stylesheet" type="text/css" />

    <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.1.js" type="text/javascript"></script>

    <script src='<%=ResolveClientUrl("~/js/fancybox/jquery.fancybox-1.3.4.js")%>' type="text/javascript"></script>

    <script src='<%=ResolveClientUrl("~/js/fancybox/jquery.easing-1.3.pack.js")%>' type="text/javascript"></script>

    <script src='<%=ResolveClientUrl("~/js/fancybox/jquery.mousewheel-3.0.4.pack.js")%>'type="text/javascript"></script>

    <script type="text/javascript"> 
     $(document).ready(function () { 
   $(".fancyYoutube").fancybox({ 
             'transitionIn': 'elastic',
             'transitionOut': 'fade',
             'width': 680,
             'height': 495,
             'type': 'swf'
             }); 
            });
    </script>
</asp:Content>

これは正常に動作します..しかし、ページングを行うと、書かれたコードが機能しません。

Visual Studio では、「Jscript-window スクリプト ブロック」というファイルが 1 つ作成されていることがわかりました。と書かれたコード

__doPostBack('ctl00$BodyContent$lvEnglishMovieList$dpgGallery$ctl01$ctl01','')

これは何を意味するのでしょうか??

4

3 に答える 3

2

問題が解決しました。

<script type="text/javascript">
    $(document).ready(function () {
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(showtrailer);
        showtrailer();
    });
    function showtrailer() {
        $(".fancyYoutube").fancybox({
            'transitionIn': 'elastic',
            'transitionOut': 'fade',
            'width': 680,
            'height': 495,
            'type': 'swf'
        });
    }
</script>

私のリストビューは、これらのコードを書かなければならなかったため、更新パネルの中にありました。asp.netフォーラムから助けを得て、リンクは ここにあります

于 2011-05-19T14:37:15.233 に答える
1

$(".fancyYoutube")ページングが非同期の場合、 DOMready で一度だけ実行されるため、新しくフェッチされた DOM 要素はキャプチャされません。.delegate()代わりに メソッドを使用して、動的に追加された要素を操作する、より一般的なイベント ハンドラーを作成できます。

編集

実際、もう一度見てみると、関数はイベントではないため、この.delegate()メソッドはおそらく機能しません。.fancybox()その場合、ページングが完了したときに実行されるコールバック関数 (これは、新しい AJAX 応答を受け取り、それを DOM に挿入する関数になります) を見つけて.fancybox()、AJAX 応答 HTML を渡して をもう一度呼び出すだけです。

ページネーションのコードを投稿できますか? 私はおそらくあなたをより明確に助けることができます!

于 2011-05-18T11:13:24.920 に答える
0

ObjectDataソースコード

<asp:ObjectDataSource ID="ObjHindiList" runat="server" SelectMethod="GetAllList"
                TypeName="Movie.Repositories.MovieDetailRepository" 
                OldValuesParameterFormatString="original_{0}">
                <SelectParameters>
                    <asp:Parameter DefaultValue="Hindi" Name="movielanguage" Type="String" />
                </SelectParameters>
            </asp:ObjectDataSource>

datapager を含む listview コードになりました。

<asp:ListView ID="ListView1" DataKeyNames="MovieId" runat="server" 
                DataSourceID="ObjHindiMovieList" onitemcreated="ListView1_ItemCreated" 
                onitemdatabound="ListView1_ItemDataBound" EnableViewState="false">
                <LayoutTemplate>
                    <table class="AllMovieList">
                        <tbody class="tablebody">
                            <tr id="itemplaceholder" runat="server" class="trd">
                            </tr>
                        </tbody>
                        <tfoot>
                            <tr>
                                <td colspan="2">
                                    <div class="CustomDataPager">
                                        <asp:DataPager ID="dpgGallery" PagedControlID="ListView1" runat="server" PageSize="10">
                                            <Fields>
                                                <asp:NextPreviousPagerField ButtonCssClass="command" FirstPageText="« Previous" PreviousPageText="« Previous"
                                                    RenderDisabledButtonsAsLabels="false" ShowFirstPageButton="false" ShowPreviousPageButton="true"
                                                    ShowLastPageButton="false" ShowNextPageButton="false" RenderNonBreakingSpacesBetweenControls="False" />
                                                <asp:NumericPagerField CurrentPageLabelCssClass="current" NextPreviousButtonCssClass="next"
                                                    RenderNonBreakingSpacesBetweenControls="False" />
                                                <asp:NextPreviousPagerField ButtonCssClass="command" LastPageText="›" NextPageText="Next »"
                                                    RenderDisabledButtonsAsLabels="false" ShowFirstPageButton="false" ShowPreviousPageButton="false"
                                                    ShowLastPageButton="false" ShowNextPageButton="true" RenderNonBreakingSpacesBetweenControls="False" />
                                            </Fields>
                                        </asp:DataPager>
                                    </div>
                                </td>
                            </tr>
                        </tfoot>
                    </table>
                </LayoutTemplate>
                <ItemTemplate>
                    <tr class="trd">
                        <td valign="top" style="width: 100px">
                            <asp:Image ID="Image1" ImageUrl='<%#Eval("MovieThumbNailImageUrl")%>' runat="server" />
                        </td>
                        <td valign="top" style="width: 600px">
                            <table class="InnerList">
                                <tr class="InnerTrRow">
                                    <td colspan="2">
                                        <div style="float: left">
                                            <asp:Label ID="lblmovieName" runat="server" Text='<%#Eval("MovieName")%>'></asp:Label>
                                        </div>
                                        <div style="float: right">
                                            <asp:Label ID="lbldate" runat="server" Text='<%#Eval("ReleaseDate","{0:dd-MMM-yy}")%>'></asp:Label>
                                        </div>
                                    </td>
                                </tr>
                                <tr valign="top">
                                    <td colspan="2">
                                        <asp:LinkButton CssClass="linkbutton" ID="lnkabout" runat="server" OnClick="lnkabout_Click" Text="About Movie"></asp:LinkButton>&nbsp|
                                        <asp:LinkButton CssClass="linkbutton" ID="lnkGallery" runat="server" Text="Photos"></asp:LinkButton>&nbsp|
                                        <a class="fancyYoutube" href='<%#Eval("TrailerUrl") %>'>View Trailer</a>
                                    </td>
                                </tr>
                                <tr valign="top">
                                    <td>
                                        <b>Director</b>
                                    </td>
                                    <td>
                                        <asp:Label ID="lblDirector" runat="server" Text='<%#Eval("Director") %>'></asp:Label>
                                    </td>
                                </tr>
                                <tr>
                                    <td valign="top">
                                        <b>Producer</b>
                                    </td>
                                    <td>
                                        <asp:Label ID="Label1" runat="server" Text='<%#Eval("Producer") %>'></asp:Label>
                                    </td>
                                </tr>
                                <tr valign="top">
                                    <td>
                                        <b>Staring</b>
                                    </td>
                                    <td>
                                        <asp:Label ID="lblstarring" runat="server" Text='<%#Eval("Cast") %>'></asp:Label>
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </ItemTemplate>
                <ItemSeparatorTemplate>
                    <tr style="width: 600px">
                        <td colspan="2">
                            <div style="border-top: solid 1px #FFF; width: 100%">
                            </div>
                        </td>
                    </tr>
                </ItemSeparatorTemplate>
            </asp:ListView>

コードビハインドでは、ページング用に何も書いていません。

于 2011-05-18T18:33:52.080 に答える