ASP.NET 4表单在webform页面中

时间:2010-09-21 06:00:37

标签: javascript asp.net xml c#-4.0

我是编程新手,但我正在努力学习。我使用C#运行带有asp.net webform项目的visual studio 2010。我正在尝试在其中一个页面上实现paypals立即购买按钮,并且生成的代码也在表单标签中。无论是哪个按钮,页面上的第一个按钮都不起作用,下面有一条蓝色的实线。所有其他按钮工作正常。即使我删除它,下一个按钮成为页面上的第一个按钮然后它也无法正常工作....我正在学习,因为所有页面都是表单,生成的代码也是一个表单,我不能在里面有一个表单表单。它是否正确? 有什么方法可以解决这个问题...我真正知道的是一个lil HTML和一个lil CSS,我正在尝试学习JavaScript,C#,XML,CSS,ASP.NET以及Visual Studio本身。任何帮助将不胜感激。如果有人想看看我在说什么,请访问www.curbappealfordummies.net/Packages.aspx这是我正在努力的网站和网站管理员...谢谢你们的帮助。

3 个答案:

答案 0 :(得分:1)

也许你需要从一个教程开始,这个教程旨在帮助你掌握足够的基础知识,这样你就可以更好地理解你真正想要做的事情......在{{3查看视频那里也有很多资源。如果你有动力学习,这听起来就像你一样,并不难。

答案 1 :(得分:1)

这是一个广泛的问题,但一个可能的答案是生成第二个表单,其中包含所需的PayPal代码。

这是一个简化的例子;通常需要逻辑才能达到这一点。例如,如果按钮需要包含在ASP.Net默认表单中,则需要服务器和/或客户端代码将它们连接到第二个表单并确保它包含正确的隐藏值。

在您的WebForm中

<form id="form1" runat="server">
<!-- Contents of your server form -->    
</form>
<%=base.GetMarkupOutsideDefaultForm() %>

在您的CodeBehind中

public string GetMarkupOutsideDefaultForm()
        {
            //
            // Return the markup needed for a PayPal form, 
            // including javascript needed to automatically submit it.
            // AppSettings can be any configuration object that contains
            // the needed URL (or you can hardcode it)
            StringBuilder sb = new StringBuilder();
            sb.Append( "<form action=\"" + AppSettings.PayPalUrl + "\" method=\"post\" id=\"frmPayPal\" target=\"_blank\">" );

            // add hidden PayPal fields

            sb.Append( "</form>" );

            sb.Append( "<script type=\"text/javascript\">document.forms[\"frmPayPal\"].submit();</script>" );

            return sb.ToString();
        }

如果逻辑很复杂,第二个代码块应该真正包含在辅助类中。

希望这会让某人走上正确的道路。

答案 2 :(得分:0)

我知道你的意思。尝试添加额外的

<form action='https://www.paypal.com/cgi-bin/webscr' method='post' target='paypal'></form>

在顶部。

示例:

<form id="form1" runat="server">
  <div>
    <form action='https://www.paypal.com/cgi-bin/webscr' method='post' target='paypal'>
    </form>
  </div>
  <div>
    <form action='https://www.paypal.com/cgi-bin/webscr' method='post' target='paypal'>
      <input type='hidden' name='add' value='1'>
      <input type='hidden' name='cmd' value='_cart'>
      <input type='hidden' name='business' value='<%# DataBinder.Eval(Container.DataItem, "business_email") %>'>
      <input type='hidden' name='no_shipping' value='0'>
      <input type='button' name='submit' value='Add To Cart' title='Add to Cart Button'>
    </form>
  </div>
</form>

简单,但有效。

或者,如果你不喜欢这个想法,试试这个帖子: