2013-04-28 76 views
0

我將代碼後面的表單添加到asp:PlaceHolder控件中。
當我將表格添加到placeholder<form>標籤丟失。
Asp.net將其從某些原因中刪除。
爲什麼在表單中形成表單在Internet Explorer中不起作用

但是我找到了解決方法。我已經加入(空單):

<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" ... 

回答

1

之一dissadvanced的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> 

替代就可以使後重定向,但需要更多的代碼和一箇中間頁,創造支付寶發佈數據在代碼後面。這裏是一個例子http://www.codeproject.com/Articles/37539/Redirect-and-POST-in-ASP-NET

同樣的技巧,你可以用javascript做到這一點,創建一個使用JavaScript的表單,並將其發佈到貝寶按鈕,所有與JavaScript的同一頁。

我已經使用了所有這些技術,它們都可以工作。

+0

第一句話是誤導性的。您只能使用'runat = server'來創建一個表單,但只要它們沒有嵌套,您可以在一個ASP.NET頁面中擁有多個表單。沒有理由必須將整個文檔包裝在表單中,儘管這是大多數webforms模板的工作原理。 – MikeSmithDev 2013-04-29 18:00:07

+0

@MikeSmithDev你有一點,我會改變它(或者你可以,如果你想糾正你所相信的) – Aristos 2013-04-29 18:08:29

+0

我仍然沒有想到這一點。但是我找到了這篇文章http://www.codeproject。com/Articles/36071/Implementing-Non-ASP-NET-Posts-in-ASP-NET和解決方案對我來說很完美,唯一的問題是我需要在一個頁面上有5個按鈕,不知道這是可能的這個解決方案可能? – 1110 2013-04-29 20:56:44

相關問題