Javascript Web表单页面中的ASP.NET 4表单

Javascript Web表单页面中的ASP.NET 4表单,javascript,asp.net,xml,c#-4.0,Javascript,Asp.net,Xml,C# 4.0,我是编程新手,但正在努力学习。我正在运行visual studio 2010,其中包含一个使用C#的asp.net Web表单项目。我试图在其中一个页面上实现paypals buy now按钮,生成的代码也是表单标签。无论是哪个按钮,页面上的第一个按钮永远不会工作,并且在它下面有一条蓝色的实线。所有其他按钮都可以正常工作。即使我删除它,“下一步”按钮也会成为页面上的第一个按钮,然后它也不起作用……我了解到,由于所有页面都是表单,生成的代码也是表单,因此表单中不能有表单。这是正确的吗? 有没有办法

我是编程新手,但正在努力学习。我正在运行visual studio 2010,其中包含一个使用C#的asp.net Web表单项目。我试图在其中一个页面上实现paypals buy now按钮,生成的代码也是表单标签。无论是哪个按钮,页面上的第一个按钮永远不会工作,并且在它下面有一条蓝色的实线。所有其他按钮都可以正常工作。即使我删除它,“下一步”按钮也会成为页面上的第一个按钮,然后它也不起作用……我了解到,由于所有页面都是表单,生成的代码也是表单,因此表单中不能有表单。这是正确的吗?
有没有办法解决这个问题…我真正知道的只是一个lil HTML和一个lil CSS,我正在努力学习JavaScript、C#、XML、CSS、ASP.NET以及Visual Studio本身。任何帮助都将不胜感激。如果有人想知道我在说什么,请访问www.corbappealfordummies.net/Packages.aspx,这是我正在工作的网站,也是……的网站管理员。谢谢你们的帮助。

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

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

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

在您的网络表单中

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

在您的代码隐藏中

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();
        }
公共字符串GetMarkupOutsideDefaultForm()
{
//
//返回PayPal表单所需的标记,
//包括自动提交所需的javascript。
//AppSettings可以是任何包含
//所需的URL(也可以硬编码)
StringBuilder sb=新的StringBuilder();
某人加上(“”);
//添加隐藏的PayPal字段
某人加上(“”);
sb.追加(“document.forms[\“frmPayPal\”].submit();”;
使某人返回字符串();
}
如果逻辑是复杂的,那么第二个代码块实际上应该包含在helper类中


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

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

在顶端

例如:

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

这很简单,但很有效

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


问题太大,无法回答,但您的“我不能在表单中包含表单”声明通常是正确的。关于这一点,有很多黑客攻击,但没有一个是可取的(尤其是因为你刚刚开始)。我正在阅读大量的教程、电子书和视频,这就是为什么我在三周内从一无所知走到今天的原因…谢谢你,我也会查看该链接…尝试过,只在新页面加载时有效,然后它只是刷新页面