Я, использую ASP.NET MVC для создания страницы, которая отправляет на песочницу PayPal. Моя форма, которая размещает на сайт PayPal, вкладывается в родительской форме. Я использую Internet Explorer 7, и по некоторым причинам, вложенная форма отправляет на мою локальную машину вместо сайта PayPal. Если я добавляю копию той же вложенной формы непосредственно после того, как первое, первое отправляет на localhost и вторые сообщения туда, где это ожидается.
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>
</title>
</head>
<body>
<form name="aspnetForm" method="post" action="" id="aspnetForm">
<!--First form posts locally-->
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="submit" value="Pay"/>
</form>
<!--Second identical form posts to the expected destination-->
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="submit" value="Pay"/>
</form>
</form>
Вложенные формы не действуют, и поэтому их поведение не определено. Вы просто не можете их вложить. Одновременно может быть отправлена только одна форма, хотя на странице может быть несколько невложенных форм (однако будет отправлена только одна из соответствующих кнопок отправки).
Обработайте событие нажатия кнопки на стороне сервера и отправьте сообщение на сайт оттуда. Вложенные формы недействительны xhtml.
Похоже, я использовал шаблон главной страницы ASP.NET вместо шаблона ASP.NET MVC. Шаблон ASP.NET включает тег формы, который и создал эту страницу с вложенными формами. Использование шаблона ASP.NET MVC решило мою проблему, полностью удалив вложенные формы.