2016-11-10 6 views
0

У меня есть следующие Имя Cookie и Cookie пункт в классе CBLL какКак присвоить значения в печенье Javascript

public const string COOKIE_NAME_TDR_FILTER = "jS.TDR.Filter"; 
    public const string COOKIE_DF_KEY = "DFKey"; 

На странице мы пытаемся присвоить значения куков, поэтому он может быть использован в вызываемые страницы, .aspx.cs.

protected string TDRFilterCookieName = CBLL.COOKIE_NAME_TDR_FILTER; 
    protected string CookieDFKey = CBLL.COOKIE_DF_KEY; 

В .aspx с помощью JavaScript я пытаюсь присвоить значения для CookieDFKey. Поэтому его можно использовать позже.

var cookie = new Cookie("<%= this.TDRFilterCookieName%>"); 
    cookie.<%= this.CookieDFKey %> = id; 
    cookie.store(); 
    alert(cookie.<%= this.CookieDFKey %>); 

Пробовал вышеуказанный код, но он порождает ошибку, как Cookie() не определен. Пожалуйста, помогите мне с этим, как я новичок в JS Script

ответ

1

Пожалуйста, ознакомьтесь с documentation about cookies

// To create a cookie 
document.cookie = "${key}=${value}"; // optional expiration date, see doc. 

// To add a new cookie 
document.cookie = "${key}=${value}"; // As you can see, `document.cookie` is not a normal Object holding a string 

W3 Schools обеспечивает очень хорошие методы, чтобы добавить/получить печенье, что я буду копировать/вставить здесь (Все Заслуга к ним):

function setCookie(cname, cvalue, exdays) { 
    var d = new Date(); 
    d.setTime(d.getTime() + (exdays*24*60*60*1000)); 
    var expires = "expires="+ d.toUTCString(); 
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 
} 

function getCookie(cname) { 
    var name = cname + "="; 
    var ca = document.cookie.split(';'); 
    for(var i = 0; i <ca.length; i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') { 
      c = c.substring(1); 
     } 
     if (c.indexOf(name) == 0) { 
      return c.substring(name.length,c.length); 
     } 
    } 
    return ""; 
} 

и функция deleteCookie(cname), что я просто написал:

function deleteCookie(cname) { 
    document.cookie = cname + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC"; 
} 
+0

Какая пара «ключ: значение», которую вы действительно должны хранить? 'CookieDFKey: TDRFilterCookieName'? Или, может быть, 'CookieDFKey: id'? – nicovank

+0

Ключ должен быть 'CookieDFKey', а значение должно быть' id'. Как мы должны давать без истечения срока. – trx

+0

Импортируйте функцию setCookie выше, а затем просто назовите ее 'setCookie (<% = this.CookieDFKey%>, id, 30)'. Должна быть дата истечения срока. Файл cookie удаляется по умолчанию, когда браузер закрыт, если вы не укажете его. Положив 30, cookie истечет через месяц. Вы можете положить больше дней, если они вам понадобятся. – nicovank

Смежные вопросы