2011-05-17 99 views
0

我已經擁有列表視圖我的內容頁面下面寫代碼和DataPager的分頁後Jquery代碼不工作?

<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窗口腳本塊」。並寫出代碼

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

這是什麼意思?

回答

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> 

我的listview是在更新面板中,因爲我不得不編寫這些代碼。得到了asp.net論壇幫助和鏈接 HERE

1

如果你的頁面是異步的,新取的DOM元素不會被$(".fancyYoutube"),因爲這隻能在domready中運行一次拍攝。您可以使用.delegate()方法來創建更通用的事件處理程序,該處理程序可與動態添加的元素一起使用。

編輯

事實上,再次尋找,在.delegate()方法可能是行不通的,因爲.fancybox()功能是不是一個事件。在這種情況下,您應該找到在分頁完成時執行的回調函數(這將是接受新的AJAX響應並將其注入到DOM中的函數),然後再撥打.fancybox(),傳入AJAX響應HTML 。

你能發佈你的分頁代碼嗎?我可以更清楚地幫助你!

+0

我是一種新的jQuery的。你能幫我用代碼嗎? – 2011-05-18 11:26:33

+0

請參閱上面的編輯 - 是否有意義? – 2011-05-18 16:03:16

+0

我已經使用asp.net.will中的datapager控件發佈html代碼以及C#代碼.. – 2011-05-18 18:28:47

0

ObjectDataSource控件代碼

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

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

在代碼背後,我還沒有寫任何分頁。