2016-05-30 37 views
1

编辑:NEW CODE.NET GridView控件:自定义分页文本

<asp:Panel ID="pnl_display_commentaire" runat="server" GroupingText="Commentaires" > 


       <asp:LinkButton ID="btnmakecomment" class="linkhover" Font-Size="11px" runat="server"> Comments </asp:LinkButton> 
       <asp:Panel ID="pnlMComment" CssClass="" runat="server" > 
          <div class="commentbox"> 
             <asp:TextBox ID="MakeComments" CssClass="unwatermarkedcomment" runat="server" Width="90%" TextMode="MultiLine"></asp:TextBox> 
             <asp:Button ID="btnPost" CssClass="submitButton" Text="Commenter" runat="server" OnClick="btnComment_Click" CommandName="Comment" CausesValidation="false" UseSubmitBehavior="False"/> 
            ajaxToolKit:TextBoxWatermarkExtender ID="TextBoxScrapWme" runat="server" TargetControlID="MakeComments" WatermarkText="Ecrire un commentaire" WatermarkCssClass="watermarked" /> 
          </div> 
      </asp:Panel> 

      <ajaxToolKit:CollapsiblePanelExtender ID="cpe1" runat="Server" TargetControlID="pnlMComment" Collapsed="true" CollapsedText="Ajouter votre commentaire" ExpandedText="" TextLabelID="btnmakecomment"  ExpandControlID="btnmakecomment" CollapseControlID="btnmakecomment" SuppressPostBack="true" /> 
      <script src="https://code.jquery.com/jquery-1.12.2.min.js"></script> 
      <script type="text/javascript"> 
       function Move() { 
        var shouldMove = true; 

        setInterval(function() { 
         var previous = $("a:contains('Previous')"); 

         if (previous.html() != undefined && shouldMove) { 
          var grid = $("#CommentGridView"); 
          $(previous).insertBefore($(grid)); 
          shouldMove = false 

         } 
        }, 100); 

        $(document).on('click', "a:contains('Next')", function() { 
         shouldMove = true; 

        }); 

        $(document).on('click', "a:contains('Previous')", function() { 
         shouldMove = true; 
        }); 

       } 
</script> 

      <asp:UpdatePanel ID="update_panel_comments" runat="server"> 
       <ContentTemplate> 
           <asp:GridView ID="CommentGridView" 
      AutoGenerateColumns="true" 
      EnableSortingAndPagingCallbacks="true" 
      EmptyDataText="0 commentaire" 
      runat="server" 
      ShowHeader="false" 
      ShowFooter="true" 
      Width="90%" 
      AllowPaging="True" 
      PageSize="3" 
      GridLines="None" 
      OnPageIndexChanging="CommentGridView_PageIndexChanging"> 
      <PagerSettings NextPageText="Next" PreviousPageText="Previous" Mode="NextPrevious" /> 
     </asp:GridView> 
        </ContentTemplate> 
        <Triggers> 
    <asp:AsyncPostBackTrigger ControlID="btnPost" EventName="Click" /> 
</Triggers> 

我试着显示在我的GridView和数据,以及上一个链接的底部的下一个页面链接(如果它需要显示)在我的GridView的顶部。

我该如何做到这一点?

编辑: 我测试了JS用的console.log(),然后输入正确的,但什么都不做......

回答

1

这是很难修改的ASP.NET Web表单自动为您生成的代码,这是为什么很多开发人员更喜欢ASP.NET MVC。然而,这是一个使用非常小的jQuery的“上一页”链接移到GridView顶部的例子:

<head runat="server"> 
    <title></title> 
    <script src="https://code.jquery.com/jquery-1.12.2.min.js"></script> 
    <script> 
     $(function() { 
      var shouldMove = true; 

      setInterval(function() 
      { 
       var previous = $("a:contains('Previous')"); 

       if (previous.html() != undefined && shouldMove) 
       { 
        var grid = $("#CommentGridView"); 
        $(previous).insertBefore($(grid)); 
        shouldMove = false 
       } 
      }, 100); 

      $(document).on('click', "a:contains('Next')", function() { 
       shouldMove = true; 
      }); 

      $(document).on('click', "a:contains('Previous')", function() { 
       shouldMove = true; 
      }); 

     }); 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <div> 
      <asp:GridView ID="CommentGridView" 
       AutoGenerateColumns="true" 
       EnableSortingAndPagingCallbacks="true" 
       EmptyDataText="0 commentaire" 
       runat="server" 
       ShowHeader="false" 
       ShowFooter="true" 
       Width="90%" 
       AllowPaging="True" 
       PageSize="3" 
       GridLines="None" 
       OnPageIndexChanging="CommentGridView_PageIndexChanging"> 
       <PagerSettings NextPageText="Next" PreviousPageText="Previous" Mode="NextPrevious" /> 
      </asp:GridView> 
     </div> 
    </form> 
</body> 

输出:

Changing the location of paging buttons in asp.net gridview

+0

我以前的链接留在我的gridview的底部:/(它显示了先前然后在我的gridview底部的下一个链接) – Furtiro

+0

(我的gridView是在更新面板中)我在事件pageindexChanging中调用你的函数,但它没有做任何事 – Furtiro

+0

您是否将PreviousPageText =“Précédents”更改为PreviousPageText =“Previous”?或者将javascript更改为var previous = $(“a:contains('Précédents')”); –