簡體   English   中英

為什么表單中的表單在Internet Explorer中不起作用

[英]Why form in a form doesn't work in internet explorer

我將代碼后面的表單添加到asp:PlaceHolder控件。
當我將表單添加到placeholder <form>標記丟失。
Asp.net出於某種原因將其刪除。

但是我已經找到解決方法。 我添加了( 空表格 ):

<form></form>
<form... my form code that comes from code behind...

這在除IE之外的所有瀏覽器中都能正常工作!
任何想法如何解決此問題在IE中

也許這很重要 )這個表格實際上是一個PayPal按鈕代碼 ,我可以從數據源獲取它。
我需要在頁面上添加10個按鈕:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">           
<input type="hidden" name="cmd" ...

asp.net Web表單的缺點之一是在正常的asp.net頁面中僅允許一個asp.net表單 一種具有runat="server"表單,並且內部只有asp.net控件可以正常工作,並且與后面的代碼配合使用。

但是,您可以打破它-但不能繼續擁有相同的asp.net功能。 您可以做的是使用LiteralControl並在頁面上直接顯示PayPal按鈕代碼,並且僅在使用</form>關閉全局表單之前。 僅在添加新內容之前關閉。

現在,執行此操作時,您必須忘記將帖子發回到同一頁上,而實際上僅將其發給PP。 擁有一些asp.net頁面功能的唯一方法是將其保留在第一個表單關閉之前,並在web.config上設置該選項以使驗證始終位於頂部。

所以你開始

<form  name="aspnetForm" method="post" action="/ui/login.aspx?ReturnUrl=General.aspx" >
  ... some controls that post back to aspx page    
</form>

然后你最終

<form  name="aspnetForm" method="post" action="/ui/login.aspx?ReturnUrl=General.aspx" >
  ... some controls that post back to aspx page    
  ... up to here maybe the buttons will work for the page, after that not any more
 </form> //<---- added by you
  // follow the PayPal buttons
  <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">           
  <input type="hidden" name="cmd" ... >
  </form>

  // second button, etc
  <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">           
  <input type="hidden" name="cmd" ... >
  </form>
// now this close form is orphan....
</form>

或者,您可以進行帖子重定向,但需要更多代碼和中間頁,用於在后面的代碼上創建PayPal帖子數據。 這是一個示例http://www.codeproject.com/Articles/37539/Redirect-and-POST-in-ASP-NET

您可以使用javascript來完成相同的技巧,使用javascript即時創建表單,然后將其發布到paypal按鈕,所有頁面都使用javascript。

我已經使用了所有這些技術,所有的技術都有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM