Горячий, чтобы получить пользовательский http-заголовок в asp.net? - PullRequest
0 голосов
/ 14 мая 2010

У меня есть приложение asp.net на одном сервере. Там я добавил код на стороне сервера в Page_Load:

Response.AddHeader("key", "password-key-from-hotel");

На стороне клиента у меня есть форма:

<form ... action="www.link-to-another-domaint" >
    <input type="hidden" id="asd" value="fgh" > 
    .... 
</form>
<script type="text/javascript">
    document.forms[0].submit(); 
</script>

Затем в другом домене - есть и другое мое приложение - я пытаюсь получить ключ "hedaer" с помощью этого кода:

Request.Headers["key"].ToString();


Но такого заголовка нет. Есть ли решение? Где моя ошибка?

Ответы [ 2 ]

0 голосов
/ 14 мая 2010

Вы добавляете заголовок http со стороны сервера, а затем пытаетесь опубликовать форму со стороны клиента.

Итак, вы теряете свой заголовок.

AFAIK, вы не можете добавить заголовок http со стороны клиента при отправке формы (поскольку исключением могут быть XHR и другие плагины;сообщение является междоменным, поэтому ajax не будет работать).

Я не понимаю всей причины этого, но самый простой способ передать пользовательский заголовок с одной страницы на другую - использовать Server.Transfer метод.

Исходная страница:

Response.AppendHeader("key", "password-key-from-hotel");
Server.Transfer("www.link-to-another-domain");

Страница назначения (даже другой домен):

string key = Request.Headers["key"];

Это должно работать.Но Server.Transfer метод имеет свои ограничения .

0 голосов
/ 14 мая 2010

как я понял, вам нужно поле запроса, а не заголовок. попробовать:

Request["asd"]
...