One of the biggest problems with ASP.NET WebForms development is the fact that every single page is wrapped in a form tag for the postback functionality, and you can't nest forms within other forms.
This causes issues when integrating features like PayPal buttons which are normally placed on the page as a simple form template, with the parameters specified as hidden input fields.
I recently worked on a project for a colleague who's client needed a nice form to be submitted to PayPal so that a gift certificate could be dispatched, and was tasked with making this work in ASP.NET WebForms.
Because I couldn't place another form on the page (such as the ones that they recommend on the PayPal developer website) I had to construct a URL based on the WebForms form, and then redirect to the PayPal server once the postback has been initialised.
protected void SendButton_Click(object sender, EventArgs e) { if (Page.IsValid) { StringBuilder ppHref = new StringBuilder(); ppHref.Append("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick"); ppHref.Append("&hosted_button_id=[HOSTED BUTTON ID]); ppHref.Append("&on0=Voucher Amount"); ppHref.Append("&os0=[PRE-DEFINED OPTION]"); ppHref.Append("&on1=Name to send voucher"); ppHref.Append("&os1=[RECIPIENT NAME]"); ppHref.Append("&on2=Email to send voucher"); ppHref.Append("&os2=[RECIPIENT EMAIL]"); ppHref.Append("&on3=Personal Message"); ppHref.Append("&os3=[YOUR MESSAGE HERE]"); ppHref.Append("¤cy_code=GBP"); Response.Redirect(ppHref.ToString(), true); } }
Worked a treat :)
;
Comments
Please consider what you post!
Chillax if you're angry.