Как сделать на jQuery DataTable в работу после UpdatePanel и обратной передачи
Я перепробовал все возможные решения для решения этой проблемы, но до сих пор не могу ее исправить,
Пожалуйста, помогите мне.
Я пытался использовать скрипт pageload, добавляя скрипт в contenttemplage, registerclient или startup script, используя pagre pre render, но ничего не работает
Это мой код. cs:
protected void GridView1_PreRender(object sender, EventArgs e) { this.BindGrid(); if (GridView1.Rows.Count > 0) { //This replaces <td> with <th> and adds the scope attribute GridView1.UseAccessibleHeader = true; //This will add the <thead> and <tbody> elements GridView1.HeaderRow.TableSection = TableRowSection.TableHeader; //This adds the <tfoot> element. //Remove if you don't have a footer row GridView1.FooterRow.TableSection = TableRowSection.TableFooter; } }
и это мое asp.net код:
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"> <script type="text/javascript"> //On Page Load $(function () { $('.gvv').dataTable(); }); //On UpdatePanel Refresh var prm = Sys.WebForms.PageRequestManager.getInstance(); if (prm != null) { prm.add_endRequest(function (sender, e) { if (sender._postBackSettings.panelsToUpdate != null) { $('.gvv').dataTable(); } }); }; </script> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <asp:ScriptManager runat="server" ID="ScriptManager1" /> <asp:UpdatePanel ID="upCrudGrid" runat="server"> <ContentTemplate> <br /> <asp:Button ID="btnAdd" runat="server" Text="Add New Record" CssClass="btn btn-info" OnClick="btnAdd_Click" /> <br /> <br /> <div class="box span12"> <div class="box-content"> <asp:GridView ID="GridView1" runat="server" HorizontalAlign="Center" OnRowCommand="GridView1_RowCommand" AutoGenerateColumns="false" DataKeyNames="ContainerSizeID" CssClass="table table-striped table-bordered bootstrap-datatable datatable" OnPreRender="GridView1_PreRender"> <Columns> <asp:BoundField DataField="ContainerSizeID" HeaderText="ContainerSizeID" Visible="false" /> <asp:BoundField DataField="ContainerSize1" HeaderText="Container Size" /> <asp:TemplateField HeaderText="Actions"> <ItemTemplate> <asp:LinkButton ID="btnViewDetail" runat="server" CommandName="detail" CssClass="btn btn-success"></asp:LinkButton> <asp:LinkButton ID="btnEdit" runat="server" CommandName="editRecord" CssClass="btn btn-info"></asp:LinkButton> <asp:LinkButton ID="btnDelete" runat="server" CommandName="deleteRecord" CssClass="btn btn-danger"></asp:LinkButton> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </div> </div> </ContentTemplate> <Triggers> </Triggers> </asp:UpdatePanel> </asp:Content>
Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)
Вы отладили работу внутри события endRequest?
ShahidRiaz
Вы не назначили класс " gvv " вашему представлению сетки. Вот почему он не работает. Добавьте класс gvv в свой gridView, и он должен начать работать. Однако вам все равно нужно использовать enrequest, чтобы все работало правильно после частичной публикации страницы обратно
Uthixo
Привет, Мина, я занимаюсь той же проблемой, которую ты решила? Помоги мне. Извините за мой английский, я говорю только по-испански.
[no name]
У меня такая же проблема, вы нашли решение?