2008-09-18 107 views
5

從傳統的ASP背景來看,我習慣於在頁面上使用多個表單,但是這在ASP.NET頁面中顯然是有限的。ASP.NET頁面上的多個表單

但是,我有一種情況,我有一個表單,收集來自用戶的輸入,將數據保存到數據庫,然後我想渲染(並調整值)一個特殊的表單,張貼到貝寶網站。

如果貝寶形式的字段值是靜態的,不會有什麼問題,但因爲我要處理的形式,服務器端(來調整數量,遞減,價格字段等等)這是一個問題。

在寫入數據庫後,我正在考慮重定向到不同的頁面,我懷疑這會工作得很好,但這可能是一些額外的努力,可能是不必要的。

也有人向我建議,我可以編程方式渲染一個不同的表單,這取決於我在哪個週期中的位置。也就是說,使用一個佔位符,並且在Page_Load上,我會首先添加一個數據庫表單(完成子控件),並在回發後添加PayPal表單。

這種情況對於你們來說是非常常見的,所以我在尋找意見建議和任何相關的代碼樣本,如果你有首選的方法。

我知道我可以通過,但這個項目是一個學習工具,所以我想採用什麼通過最佳實踐。

在此先感謝...

克里斯

回答

8

你可以有多種形式,它只是一種形式可能有runat="server"屬性。

有一堆讓PayPal工作的答案;但因爲它是一種可能會作弊的學習工具。誠實地說,我會看看完整的PayPal API,而不是使用簡單化的方式(具有額外的優勢,它應該讓你的學習更多)。

否則是,在服務器端表單之外設置一個HTML表單,並在其中添加一個文字並在其中寫入零碎。

1

的基本方法是在頁面上使用兩個小組 - 一個用於第一種形式,另一個用於第二。

您可以根據要顯示的表單(在page_load期間或渲染前的任何時間)更改這些面板的可見性屬性。

1

也許我誤解了這個問題,但是不能只在表單內部有2個div,其中只有一個在任何時候都可見。例如

<form id="Form1" method="post" runat="server"> 
    <div id="getUserInput" visible="true"> 
      <asp:button id="btnSubmitFirst" /> 
    </div> 
    <div id="doSubmissionToPaypal" visible="false"> 
      <asp:button id="btnSubmitSecond" /> 
    </div> 
</form> 

然後,在btnSubmitFirst_Click:

doSubmissionToPaypal.visible=True 
getUserInput.visible = false 

類似的規定?

0

該paypal的解決方法是使用Paypal Integration Code,因爲Paypal並不總是最易於集成的。辛苦的工作基本上是爲你完成的。

+0

我會看看這個,但因爲這是一個學習練習,所以我想盡可能'手動'。 – CJM 2008-09-18 15:04:14

相關問題