Проверьте, имеет ли параметр cook ie значение c, чтобы избежать дублирования - PullRequest
0 голосов
/ 04 февраля 2020

Я пишу код для корзины покупок. Мне нужно проверить, есть ли у повара ie идентификатор выбранного элемента, чтобы он не дублировал его.

Код:

Dim cookie_carrito As HttpCookie = Request.Cookies("CkEntregas")
        Dim i_docid As Integer = iddoc_print.Text


        If cookie_carrito IsNot Nothing Then

            Dim valor_galleta As String = cookie_carrito.Value
            Dim galleticas As String() = valor_galleta.Split(","c)

            For Each item In galleticas

                Dim id_documento = item

                If id_documento = i_docid Then
                    l_resultados_carrito.Text = "<div class='Col100'><div class='notificacionesCT'><i class='fa fa-bell fa-fw'></i> Este documento ya se encuentra en tu carrito de entregas.<a href='encriptar-documento.aspx?actid=2&docid=" & i_docid & "'><i class='fa fa-window-close fa-fw'></i></a></div></div>"
                Else

                    Dim hoy As DateTime = DateTime.Now.Date.ToUniversalTime.AddHours(-5)
                    Dim cookie_actual As HttpCookie = Request.Cookies("CkEntregas")

                    Dim cookie_carrito_u As HttpCookie = New HttpCookie("CkEntregas")
                    cookie_carrito_u.Value = i_docid & "," & cookie_actual.Value
                    cookie_carrito_u.Expires = hoy.AddHours(72)
                    Response.Cookies.Add(cookie_carrito_u)
                    'resultados.Text = "Cookie actualizada: " & cookie_carrito_u.Value
                    l_resultados_carrito.Text = "<div class='Col100'><div class='notificacionesOK'><i class='fa fa-check fa-fw'></i> ¡Listo! El documento fue agregado con éxito al carrito de entregas.<a href='encriptar-documento.aspx?actid=2&docid=" & i_docid & "'><i class='fa fa-window-close fa-fw'></i></a></div></div>"

                    Exit For
                End If

            Next

        Else
            Dim hoy As DateTime = DateTime.Now.Date.ToUniversalTime.AddHours(-5)
            Dim cookie_carrito_n As HttpCookie = New HttpCookie("CkEntregas")
            cookie_carrito_n.Value = i_docid
            cookie_carrito_n.Expires = hoy.AddHours(72)
            Response.Cookies.Add(cookie_carrito_n)
            'resultados.Text = "Cookie creada: " & cookie_carrito_n.Value
            l_resultados_carrito.Text = "<div class='Col100'><div class='notificacionesOK'><i class='fa fa-check fa-fw'></i> ¡Listo! El documento fue agregado con éxito al carrito de entregas.<a href='encriptar-documento.aspx?actid=2&docid=" & i_docid & "'><i class='fa fa-window-close fa-fw'></i></a></div></div>"
        End If

Лог c, который Я использую, чтобы проверить каждое значение, разделенное запятыми, поэтому, если это значение содержится в элементах cook ie (список), оно не добавит его, но если значение отсутствует, оно добавит его и сломает oop.

Это не работает, потому что, если первое значение в поваре ie отличается от выбранного элемента, оно добавит его, но может оказаться во второй позиции списка.

Как проверить, что определенное значение уже есть у повара ie?

Повар ie сохраняет значения в этом формате: 1,5,3,9,

1 Ответ

0 голосов
/ 04 февраля 2020

Я решил, проверив значение параметра cook ie как String, используя метод string.Contains ():

Dim cookie_carrito As HttpCookie = Request.Cookies("CkEntregas")
        Dim i_docid As Integer = iddoc_print.Text


        If cookie_carrito IsNot Nothing Then

            Dim valor_galleta As String = cookie_carrito.Value
            Dim galleticas As String() = valor_galleta.Split(","c)

            If valor_galleta.Contains(i_docid) Then
                l_resultados_carrito.Text = "<div class='Col100'><div class='notificacionesCT'><i class='fa fa-bell fa-fw'></i> Este documento ya se encuentra en tu carrito de entregas.<a href='encriptar-documento.aspx?actid=2&docid=" & i_docid & "'><i class='fa fa-window-close fa-fw'></i></a></div></div>"
            Else
                Dim hoy As DateTime = DateTime.Now.Date.ToUniversalTime.AddHours(-5)
                Dim cookie_actual As HttpCookie = Request.Cookies("CkEntregas")

                Dim cookie_carrito_u As HttpCookie = New HttpCookie("CkEntregas")
                cookie_carrito_u.Value = i_docid & "," & cookie_actual.Value
                cookie_carrito_u.Expires = hoy.AddHours(72)
                Response.Cookies.Add(cookie_carrito_u)
                l_resultados_carrito.Text = "<div class='Col100'><div class='notificacionesOK'><i class='fa fa-check fa-fw'></i> ¡Listo! El documento fue agregado con éxito al carrito de entregas.<a href='encriptar-documento.aspx?actid=2&docid=" & i_docid & "'><i class='fa fa-window-close fa-fw'></i></a></div></div>"

            End If

        Else
            Dim hoy As DateTime = DateTime.Now.Date.ToUniversalTime.AddHours(-5)
            Dim cookie_carrito_n As HttpCookie = New HttpCookie("CkEntregas")
            cookie_carrito_n.Value = i_docid
            cookie_carrito_n.Expires = hoy.AddHours(72)
            Response.Cookies.Add(cookie_carrito_n)
            l_resultados_carrito.Text = "<div class='Col100'><div class='notificacionesOK'><i class='fa fa-check fa-fw'></i> ¡Listo! El documento fue agregado con éxito al carrito de entregas.<a href='encriptar-documento.aspx?actid=2&docid=" & i_docid & "'><i class='fa fa-window-close fa-fw'></i></a></div></div>"
        End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...