Кнопка на странице html перенаправляет страницу aspx с помощью команды window.open()
. Существуют определенные данные на странице html, которые я хочу на стороне сервера на странице aspx до выполнения page_load
.Передача данных с клиентской стороны на сервер до выполнения page_load
Ниже мой код на странице HTML, который перенаправляет на ASPX странице
var win = window.open('mypage.aspx','_self');
win.args=this.Args;
следующий мой код на ASPX странице, которая пытается поймать данные передаются из HTML страницы
<script type='text/javascript'>
var readyStateCheckInterval = setInterval(function() {
if (document.readyState === "loading") {
$('#hdnArgs').val(window.args);
clearInterval(readyStateCheckInterval);
}
}, 100);
</script>
<input type='hidden' id='hdnArgs' runat='server'/>
Ниже приведен код в файле aspx.cs, который пытается прочитать значение скрытой переменной, которое было установлено из данных на странице html.
protected void Page_Load(object sender, eventargs e)
{
string data = hdnArgs.value; //this is always null
}
Но я получаю всегда «нуль».
readyStateCheckInterval
устанавливает значение скрытой переменной после завершения события page_load
.
Я хочу значение скрытой переменной до page_load
. Как я могу это получить?
Является ли ваш JQuery возвращающим правильное значение для этого HiddenField? –
Да. Он возвращает –
Хорошо. Теперь, если вы хотите играть с ним до 'Page_Load', вы можете попробовать его в методе' Page_Init', который выполняется до PageLoad. Не уверен, что это сработает, вы можете попробовать. –