2009-07-14 5 views
0

У меня есть страница ASP.NET с файлом сценария cs, чтобы взять данные, а затем отправить их на другой сайт.Запуск скрипта перед отправкой формы, ASP.NET

На сайте я использую регулярную форму HTML с asp: TextBox и asp: значения HiddenField для ее сбора и хранения. Проблема, с которой я сталкиваюсь, заключается в том, что некоторые ключевые данные о ней должны быть хэшированы и соленые, прежде чем они будут отправлены на другой сайт.

У меня есть способ сделать это, он отлично работает, но он привязан к атрибуту OnClick кнопки отправки, его кнопка asp: Button в настоящее время с набором postbackurl. Это, по-видимому, означает, что он пропускается, когда идет на новую страницу, чего я не хочу.

Я по-прежнему довольно новичок в веб-разработке, так что есть способ запустить метод непосредственно перед отправкой страницы или мне нужно будет запускать этот метод каждый раз, когда поле, которое повлияет на хэш, будет изменено?

ответ

1

Если ваш метод хеширования написан на javascript, и вы вызываете его при нажатии на кнопку onclick на стороне клиента. он должен запускаться до отправки вашей формы. Использование альтернативного события onsubmit формы может быть альтернативой.

Но если вы говорите о стороне сервера функция хеширования, которая устанавливает значение скрытого элемента управления, вы должны использовать Server.Transfer после вашего метода хеширования. Поскольку кнопка с свойством PostBackUrl не возвращает страницу сама.

+0

Это было в C#, что, вероятно, было проблемой. Но текстовые поля находятся в форме asp: TextBox. Должен ли я изменить их все на обычный HTML-код или есть способ для javascript для доступа/установки данных в них? – Jared

+0

Нет, если это на стороне сервера, вы также не можете получить значения скрытых полей. потому что, если вы используете свойство PostBackUrl, текущая страница не возвращается к себе. поэтому вы не можете установить свои поля. как я уже сказал, вместо этого используйте Server.Transfer. – Canavar

+0

Да, я не хочу публиковать сообщения на сервере, потому что это будет помещать конфиденциальную информацию, которую они набирают на ней, в открытую. Попытка сделать это на 1 шаг от формы до страницы обработки, которая, случается, будет чужой и в php = \ – Jared

0

Вы можете посмотреть на Page.ClientScript.RegisterOnSubmitStatement

Это будет способ выполнить некоторые JavaScript, как форма представления.

Смежные вопросы