Захват переменных Session внутри кода Jquery - PullRequest
0 голосов
/ 01 декабря 2010

Я использую asp.net (разновидность webforms) для кодирования сервера. Допустим, я хранил переменную с именем «test» внутри объекта Session.

Есть ли способ получить его содержимое в js-файле javascript (я использую Jquery). В настоящее время я использую следующий обходной путь - в моем файле aspx.cs я заполняю скрытое поле, затем в Jquery я беру содержимое этого поля.

Как правильно это сделать?

Я попытался открыть сеанс с помощью веб-метода и с помощью функции $ ajax, чтобы получить значение на стороне Jquery, но я получаю ошибку безопасности - «отказано в разрешении» - никаких дополнительных объяснений не предлагается.

Мой обходной путь работает нормально, но мне он кажется довольно неуклюжим. Каковы общие способы получения доступа к сеансу в Jquery?

Ответы [ 2 ]

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

Вы можете использовать jQuery для вызова веб-метода .Убедитесь, что вы украшаете свой метод перегрузкой атрибута [WebMethod(true)] , чтобы сделать состояние сеанса доступным.

0 голосов
/ 01 декабря 2010

Поскольку сеанс находится на сервере, JQuery (на клиенте) действительно не может иметь «прямой» доступ к нему. Если вы хотите, чтобы страница знала о значении переменной сеанса, лучше всего обычно включать значение в динамически генерируемые части страницы, как вы делаете со скрытым полем. Вы также можете создать javascript в вашем файле .aspx, например:

<script type="text/javascript">
    currentSessionName = '<%=Session["CurrentPersonName"].Replace("'", "\\'")%>';
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...