Проблема очистки файлов cookie с помощью аккордеонов
Привет ребята
у меня есть truoble deleting и cookie, которые я устанавливаю в jquery, у меня есть и динамический аккордеон с ретранслятором asp, и я использую Jquery cookie для запоминания состояния на задних столбцах.
Но я, когда нажимаю кнопку "Назад", хочу очистить этот файл cookie. Я пытаюсь использовать C# и Jquery, но независимо от того, что это такое, файл cookie сохраняется. i The W3 schools and microsoft ways to remove cookies, but it's ignorede
Я не самый лучший парень из Jquery, так что, возможно, кто-то может увидеть, что происходит не так.
Фронтэнд .Чистая
<asp:Repeater ID="Repeater4" runat="server" DataSourceID="XmlDataSourceDriverApp"> <ItemTemplate> <div class="accordion_container"> <div data-node='<%#XPath ("@no")%>' class=" accordion_head"> <div style="text-align: left;"> <%#XPath ("@date")%>: <%#XPath ("@day")%> </div> </div> <asp:Literal ID="litimg" runat="server" /> <div style="padding: 0px; height: 100% auto !important;" class="card card-body accordion_body"> <asp:Repeater ID="childRepeaterToday" runat="server" OnItemDataBound="childRepeaterToday_ItemDataBound" OnItemCommand="_postsRepeater_ItemCommand" EnableViewState="true" DataSource='<%# XPathSelect ("Tour") %>'> <ItemTemplate> <div class="accordion_container"> <div data-node='<%#XPath ("@no")%>' class='accordion_head' style="width: 100%; padding: 0px;"> <asp:Label runat="server" ID="lblHead" Text='<%# XPath("TourHeaders/TourHeader") %>'></asp:Label> <asp:Label runat="server" ID="lblHeadChild" Text='<%# XPath("TourStatus") %>'></asp:Label> <asp:Label Visible="false" ID="lblIcon" runat="server" /> </div> <div class="accordion_body"> <table style="padding: 10px !important;" class="table table-responsive"> <tr> <tr> <td>Turnr: <asp:Label runat="server" ID="lblTourID" Text='<%# XPath("TourID") %>'></asp:Label> <asp:HiddenField runat="server" ID="lblCustomerPhone" Value='<%# XPath("CustomerPhone") %>' /> <asp:HiddenField runat="server" ID="lblRef" Value='<%# XPath("Reference") %>' /> <asp:HiddenField runat="server" ID="lblLineCount" Value='<%# XPath("LineCount") %>' /> </td> </tr> <tr> <td> <asp:Label runat="server" ID="lblCustomerName" Text='<%# XPath("CustomerName") %>'></asp:Label> </td> </tr> <tr> <td> <%-- <asp:Label runat="server" ID="Label2" Text='<%# XPath("Remarks/Remark") %>'></asp:Label>--%> <%--<asp:Literal ID="litRemark" Text='<%# XPath("Remark") %>' runat="server" />--%> <asp:HiddenField Value='<%# XPath("NaviAdr") %>' ID="hdnAdr" runat="server" /> <asp:HiddenField Value='<%# XPath("Longitude") %>' ID="hdnLat" runat="server" /> <asp:HiddenField Value='<%# XPath("Latitude") %>' ID="hdnLng" runat="server" /> <%-- <asp:Repeater ID="rptRemark" runat="server" DataSource='<%# XPathSelect ("Remarks") %>'> <ItemTemplate> <asp:Literal ID="litRemark" Text='<%# XPath("Remark") %>' runat="server" /> </ItemTemplate> </asp:Repeater>--%> </td> </tr> <td> <div class="btn-group btn-group-justified"> <asp:LinkButton UseSubmitBehavior="false" CommandArgument=' <%#XPath ("TourID")%>' CommandName="accept" class="btn btn-warning" Text="Tilbm" runat="server" /> <asp:LinkButton Target="_blank" class="btn btn-success" CommandName="maps" Text="Navi" ID="lnkBtnMaps" runat="server"></asp:LinkButton> <asp:LinkButton CommandArgument=' <%#XPath ("TourID")%>' CommandName="info" class="btn btn-info" Text="Info" runat="server" /> </div> </td> </tr> </table> </div></div> </ItemTemplate> </asp:Repeater> </div> </div> </ItemTemplate> </asp:Repeater>
В jQuery
$(document).ready(function() { if (document.cookie.indexOf('collapsed_Nodes') >= 0) { var getCollapsed = Cookies.get('collapsed_Nodes'); var checkCollapsed = getCollapsed.split('|'); var arrayLength = checkCollapsed.length; for (var i = 0; i < arrayLength; i++) { $('[data-node="#' + checkCollapsed[i] + '"]').next('.accordion_body').addClass('hide'); $('[data-node="#' + checkCollapsed[i] + '"]').children('.plusminus').children('img').attr('src', './icon/plus.svg'); } } var adjustCookie = function() { var tags = []; $('.accordion_container .hide').each(function() { var tag = $(this).prev('.accordion_head').data('node'); tags.push(tag.replace('#', '')); }); if (tags.length) { Cookies.set('collapsed_Nodes', tags.join('|'), { expires: 1, path: window.location.pathname }); } else { Cookies.remove('collapsed_Nodes', {path: window.location.pathname}); } } $('.accordion_head').click(function() { if ($(this).next('.accordion_body').is(':visible')) { $(this).next('.accordion_body').slideUp(300); $(this).next('.accordion_body').addClass('hide'); $(this).children('.plusminus').children('img').attr('src', './icon/plus.svg'); } else { $(this).next('.accordion_body').slideDown(300); $(this).next('.accordion_body').removeClass('hide'); $(this).children('.plusminus').children('img').attr('src', './icon/minus.svg'); } adjustCookie(); }); });
Щелчок по кнопке C#
protected void back1_Click(object sender, EventArgs e) { Response.Redirect("Menu.aspx?&Username=" + Request.QueryString["UserName"] + "&Webprefix=" + Request.QueryString["WebPrefix"] + "&ChfName=" + Request.QueryString["ChfName"] + "&adminemail=" + Request.QueryString["adminemail"] + ""); }
Что я уже пробовал:
Я пробую с#
if (Request.Cookies["collapsed_Nodes"] != null) { Response.Cookies["collapsed_Nodes"].Expires = DateTime.Now.AddDays(-1); }
а в Jquery
Cookies.remove('collapsed_Nodes', {path: window.location.pathname});Я не могу использовать session abandon, потому что он перенаправляет логин.
Richard Deeming
Поскольку вы, похоже, не используете файлы cookie на сервере, вам может быть лучше использовать их локальное хранилище[^] или хранение сеансов[^] вместо.