#asp.net
#asp.net
Вопрос:
У меня есть веб-сайт ASP, и мне нужно добавить форму, которая будет публиковать на другом сайте и открываться в другом окне. Я не могу использовать JavaScript (что упростило бы задачу). Проблема в том, что я могу опубликовать только несколько полей на другом сайте, поэтому я не могу просто добавить входные данные и перенаправить публикацию обратно на другой сайт, потому что вся информация ASP тоже будет опубликована.
В принципе, мне нужно заставить следующий код работать (или что-то эквивалентное), но я не могу добавить тег form из-за формы ASP.
<form id="frm_post" action="https://anothersite.com" target="_blank" method="POST">
<input type="hidden" id="accountnumber" name="accountnumber" value="123456" />
<input type="submit" value="Submit" />
</form>
Все поля будут скрыты, поэтому в основном это будет выглядеть как ссылка, но это будет post-запрос с указанными полями / значениями.
Спасибо.
Комментарии:
1. Она работает правильно, так в чем проблема?
2. Это не будет работать на странице ASP… это нарушает все элементы управления ASP из-за вложенного тега form
Ответ №1:
Вместо вложения формы попробуйте переместить внутренний тег формы так, чтобы он был снаружи / после asp.net форма. Затем используйте CSS, чтобы переместить 2-ю форму так, чтобы визуально она выглядела так, как будто она находится в том же положении, что и в данный момент.
Комментарии:
1. Для меня это сработало лучше всего. Я использую мастер-страницы, поэтому я создал новую область содержимого вне тега ASP form для хранения содержимого формы.
Ответ №2:
Это действительно работает:
Добавьте пробел <form></form>
непосредственно перед формой, которую вы хотели бы отправить ( frm_post
в вашем случае)
</form>
Тег «обманывает» asp, заставляя его не включать вашу новую форму в свой режим обратной отправки-viewstate-mess, позволяя вашей форме фактически публиковать, а форме asp по-прежнему функционировать должным образом. Немного халтурно, но полностью исправляет это.
На мой взгляд, проблема двух форм является одной из главных ахиллесовых пяток ASP.net
Ответ №3:
Вы не можете размещать теги вложенных форм в asp.net . вы можете разместить их рядом друг с другом, но не вложенными в другую форму. вам следует изменить структуру ваших форм, чтобы исправить эту проблему.
Комментарии:
1. возможно, это написано где-то в документации, но это, безусловно, возможно. Я делаю это успешно раз в неделю или около того.