Я пытаюсь отправить данные с клиентской стороны на серверную (asp.net c #), , если вы действительно хотите знать, я хочу отправить window.name
свойство .
Сначала я подумал о том, чтобы иметь asp:HiddenField
, и на событии OnSubmit
какой-то JS записал значение в скрытое поле. Единственная проблема заключается в том, что я могу получить доступ к скрытому значению поля (согласно this ) только от события PreLoad
до события PreRenderComplete
. В проекте, над которым я работаю, много кода в событии OnInit
, и, к сожалению, я не могу его переместить, и мне нужно использовать значение window.name
здесь.
Другие идеи, которые у меня есть, - добавить пользовательский заголовок HTTP windowId
или на событие OnSubmit
иметь JS, который добавляет параметр к document.location.href
.
Мне удалось написать в заголовок из JS с XMLHttpRequest
setRequestHeader
, но, возможно, я сделал что-то не так в своей реализации , это генерирует 2 запроса, первый нормальный, ожидаемый (щелчок по кнопке / ссылке ...), а второй из XMLHttpRequest
. Я считаю это поведение очень неестественным. У вас есть предложения? ( см. Фрагмент кода ниже ). Я не знаю, что использовать AJAX.
var oReq = new window.XMLHttpRequest;
oReq.open('POST', document.location, false);
oReq.setRequestHeader("windowId", window.name);
oReq.send(null);
Для идеи OnSubmit
я не потратил на это много времени, но я думаю, что мне нужно добавить символ #, прежде чем я добавлю свой параметр windowId
с его значением, чтобы страница не ' т перезагрузить. Я могу ошибаться по этому поводу. В любом случае, я должен удалить это из URL после того, как я получу значение, чтобы пользователь не увидел неприятный URL. У вас есть предложения?
Хорошо, так что вы думаете?
Спасибо, что прочитали все мои болтовни, и заранее благодарю за ответы.