Cookies для переключения ссылок - PullRequest
3 голосов
/ 20 мая 2011

Ситуация выглядит так:

  • Мне нужна кнопка на моем сайте, которая будет ссылаться на подстраницу с видео.
  • Есть две подстраницы -один с видео высокого качества, а второй с видео низкого качества.
  • Когда кто-то нажимает на кнопку первый раз, он перенаправляет его на субстраницу видео высокого качества.С этой подстраницы он может перейти на вторую подстраницу (с видео низкого качества).

Проблема: Я хочу вспомнить, в каких куки-файлах была последняя веб-страница с видео-клиентом (низкого или высокого качества).Так что, когда клиент возвращается на мой сайт, Баттон приведет его на страницу с видео, на котором он последний раз был.

Я использую ASP.NET MVC 2. Но я думаю, что решением этой проблемы, вероятно, является некоторый JavaScript.

Любая помощь здесь высоко ценится!

Ответы [ 3 ]

1 голос
/ 20 мая 2011

Из опыта работы с ASP.Net WebForms довольно просто получить доступ к файлам cookie, и я уверен, что все настроено аналогично с MVC.

String GetBandwidthSetting()
{
    HttpCookie bandwidth = Context.Request.Cookies["bandwidth"];
    return (bandwidth != null) ? bandwidth.Value : null;
}

String SetBandwidthSetting(String value)
{
    HttpCookie bandwidth = new HttpCookie("bandwidth", value);
    bandwidth.Expires = DateTime.Now.AddYears(1);
    Context.Response.Cookies.Add(bandwidth);
}
1 голос
/ 22 мая 2011

Вы можете проверить этот скрипт: http://javascript.internet.com/cookies/cookie-redirect.html

Это похоже на то, что вам нужно.В .js вы должны изменить последний оператор if на оператор, похожий на этот:

if (favorite != null) {
    switch (favorite) {
        case 'videohq': url = 'url_of_HQ_Video'; // change these!
            break;
        case 'videolq': url = 'url_of_LQ_Video';
            break;
    }

, а затем добавить это к кнопке / ссылке:

onclick="window.location.href = url"

на ваш сайт, на который вы перенаправляетесь на эти видео.

Не забудьте также добавить код, который устанавливает куки.Вы можете добавить действие, подобное этому:

onClick="SetCookie('video', 'videohq' , exp);
1 голос
/ 20 мая 2011

Файлы cookie передаются на сервер при каждом HTTP-запросе.

Предполагая, что ваша кнопка генерируется динамически на сервере, вы можете проверить входящие куки-файлы, чтобы выяснить, не задан ли для пользователя параметр с низким качеством, и соответствующим образом обновить URL-адрес кнопки.

ASP документы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...