Javascript и переменные сеанса

У меня есть база данных, в которой хранятся события, и страница с объектом календаря. При рендеринге дней он просматривает события месяцев и, если они совпадают с текущим рендерингом, создает кнопку ссылки для представления события дня в календаре и добавляет его в эту ячейку. Я добавляю javascript к кнопке ссылки, чтобы изменить window.location на страницу для просмотра сведений о событии, передающих EventID в строке запроса (я попытался установить обратный адрес для вновь созданной кнопки ссылки, но это не привело к обратной передаче ... не повезло). Мне нужно установить переменную сеанса, т.е. Session ("EditMode") = "Edit" Значит, новая страница будет знать, что она должна получить информацию о существующем событии, а не готовиться к созданию нового события? Какие-либо предложения?

Какие события вы храните? А также, не могли бы вы опубликовать код?

Per Hornshøj-Schierbeck 25.09.2008 00:54
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
1
44 479
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Добавьте еще одну переменную строки запроса, которую страница может использовать для запуска существующего и нового.

Ответ принят как подходящий

Ваши переменные сеанса контролируются сервером, JS работает на стороне клиента и не может напрямую изменять вары.

Вам нужно делать запросы к серверу с помощью POST или GET и скрывать iframes или вызовы XMLHTTPRequest () для отправки данных из JS в сервер, а затем пусть ваш серверный код обрабатывает vars.

Добавьте еще одну переменную строки запроса, которую страница может использовать для запуска существующего и нового.

Вам обязательно нужно добавить переменную на целевую страницу. Но я полагаю, что вы выполняете сценарий всплывающего окна, поэтому вы должны иметь возможность создать функцию javascript OpenWindow () и запускать ее, когда пользователь щелкает ссылку.

<script>
function OpenWindow(eventId, editMode)
{
    var window = window.open("popup.aspx?eventId = " + eventId + "&editMode = " + editMode);
}
</script>

На стороне сервера нужно построить вызов функции OpenWindow. Например:

onclick = "OpenWindow(eventId = " + row["eventId"].ToString() + "&editMode = " + editMode.ToString() + ");"

Другими словами, подготовьте все на стороне сервера, чтобы ваш javascript размещал все переменные на новой странице. Надеюсь это поможет.

Если вы используете что-то вроде Struts2, у вас может быть скрытая переменная в вашем jsp

<s:hidden id = "EditModeId" value = "%{#session.EditMode}"/> 

И в javascript просто получите доступ к этой переменной

alert(document.getElementById('EditModeId').value);

var page1 = document.getElementById("textbox").value; 
sessionStorage.setItem("page1content", page1);

на другой странице используйте это значение как переменную сеанса

document.getElementById("textbox2").value=sessionStorage.getItem("page1content");

Другие вопросы по теме