2008-09-18 34 views
5

Xuất phát từ nền ASP cổ điển, tôi đã quen với nhiều biểu mẫu trên một trang, nhưng điều này bị giới hạn rõ ràng trong trang ASP.NET. Tuy nhiên, tôi có một tình huống mà tôi có một hình thức thu thập dữ liệu đầu vào từ người dùng, lưu dữ liệu vào một DB, và sau đó tôi muốn hiển thị (và tinh chỉnh các giá trị của) một biểu mẫu đặc biệt gửi tới PayPal trang mạng.Nhiều hình thức trên trang ASP.NET

Nếu giá trị trường của biểu mẫu PayPal là tĩnh, sẽ không có vấn đề gì, nhưng vì tôi muốn thao tác phía máy chủ biểu mẫu (để tinh chỉnh các giá trị qty, desc, price etc.) sẽ là.

Tôi đang xem xét chuyển hướng đến một trang khác sau khi viết cho DB và tôi nghi ngờ điều này sẽ hoạt động khá tốt, nhưng đó là một chút nỗ lực phụ có thể không cần thiết.

Nó cũng đã được đề xuất với tôi rằng tôi có thể lập trình hiển thị một biểu mẫu khác, tùy thuộc vào nơi tôi đang ở trong chu kỳ. Tức là, sử dụng một trình giữ chỗ và trên Page_Load tôi sẽ thêm một Biểu mẫu DB (hoàn thành với các điều khiển con) ban đầu và biểu mẫu PayPal sau một Đăng lại.

Kịch bản này phải là một điểm chung đối với các bạn, vì vậy tôi đang tìm ý kiến ​​tư vấn và các mẫu mã liên quan nếu bạn có cách tiếp cận ưa thích.

Tôi biết tôi có thể nhận được, nhưng dự án này là một phương tiện học tập vì vậy tôi muốn áp dụng những gì vượt qua để thực hành tốt nhất.

Cảm ơn trước ...

Chris

Trả lời

8

Bạn có thể có nhiều biểu mẫu, chỉ có một biểu mẫu có thể có thuộc tính runat="server".

Có một loạt câu trả lời để giúp PayPal hoạt động; nhưng vì nó là một phương tiện học tập có thể lừa đảo. Trong tất cả sự trung thực, tôi sẽ xem xét API PayPal đầy đủ hơn là sử dụng phương thức của hình thức hơi đơn giản (với lợi thế bổ sung là nó nên kéo dài việc học của bạn nhiều hơn).

Nếu không, hãy thiết lập biểu mẫu HTML bên ngoài biểu mẫu phía máy chủ và thêm chữ vào đó và viết các bit và phần vào đó.

1

Một cách tiếp cận cơ bản là sử dụng hai tấm trên trang - một cho hình thức đầu tiên và một cho thứ hai.

Bạn có thể thay đổi thuộc tính hiển thị của các bảng này tùy thuộc vào biểu mẫu bạn muốn hiển thị (trong khi page_load hoặc bất kỳ lúc nào trước khi hiển thị).

1

Có lẽ tôi hiểu nhầm câu hỏi, nhưng bạn không thể chỉ có 2 div bên trong biểu mẫu, nơi chỉ có một phần tử hiển thị bất kỳ lúc nào. ví dụ.

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

Sau đó, trong btnSubmitFirst_Click:

doSubmissionToPaypal.visible=True 
getUserInput.visible = false 

Something dọc theo những đường?

0

Giải pháp cho paypal này là sử dụng số Paypal Integration Code vì Paypal không phải lúc nào cũng thân thiện nhất để tích hợp. Công việc khó khăn về cơ bản được thực hiện cho bạn.

+0

Tôi sẽ xem xét điều này, nhưng vì đây là bài tập học tập, tôi muốn thực hiện 'thủ công' nếu có thể. – CJM

Các vấn đề liên quan