Установка сеанса ASP.NET в jquery.click () - PullRequest
0 голосов
/ 09 декабря 2010

Когда пользователь выбирает вкладку на моем сайте, я хотел бы сохранить вкладку, на которой он находится, чтобы я мог отправить ее туда после обновления страницы. У меня есть это на данный момент (извините за плохой атм кодирования, я проверяю концепцию):

$("#index_0_li").click(function() {
    <%= Session["SelectedIndex"] = "0" %>
});

$("#index_1_li").click(function() {
    <%= Session["SelectedIndex"] = "1" %>
});

var index = <%= Session["SelectedIndex"] %>;

Проблема в том, что <%= %> не ждет нажатия, индекс всегда устанавливается на 1.

У кого-нибудь есть идеи, как мне добиться того, что я пытаюсь сделать?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 09 декабря 2010

Просто используйте сеанс на стороне клиента - он же «cookie».

Установите cookie на событие click, затем, когда вы отправляете страницу (или «отправляете обратно»), этот cookie будет отправлен вместе сHTTP-запрос, позволяющий прочитать его через Request.Cookies.

1 голос
/ 09 декабря 2010

Как сказал El Ronnoco, если вы хотите выбрать выбранную вкладку в сеансе ASP.NET, вам необходимо отправить ее обратно на сервер.Вы можете сделать это с помощью вызова AJAX или включить его в другой пост, который вы делаете в своем приложении.

Однако, если вы просто хотите сохранить выбранную вкладку для клиента, вы можете сделать так, как предложил RPM1984и сохраните его в файле cookie (или другом локальном хранилище, если HTML5 разрешен) и выберите эту вкладку, которая была записана последней в файле cookie / локальном хранилище при загрузке страницы.Следующее не в моей голове, поэтому могут возникнуть синтаксические ошибки (мне нужно увидеть вашу вкладку и другую разметку, чтобы сделать рабочее решение):

$("#index_0_li").click(function() {
    localStorage.setItem('SelectedTab', '#index_0_li');
});
$("#index_1_li").click(function() {
    localStorage.setItem('SelectedTab', '#index_1_li');
});

$(document).ready(function() {
    var index = localStorage.getItem('SelectedTab');
    if (index !== null) {
        $(index).click();
    }
});
0 голосов
/ 09 декабря 2010

Функция щелчка - это клиентский JavaScript.Вы не можете установить серверную переменную на клиенте.Вы должны установить выбранный индекс сервера, например, с помощью поста jquery.

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