从 runat 服务器 asp.net 内部添加
Posted
技术标签:
【中文标题】从 runat 服务器 asp.net 内部添加【英文标题】:Adding from within from runat server asp.net 【发布时间】:2012-11-14 17:34:12 【问题描述】:我在页面上方有一个注册页面,有一个运行在服务器上的表单标签。我想添加一个由贝宝支付的代码。该代码包含一个简单的 html 控件而不是 asp.net 控件,但是当我将代码粘贴到页面时,它不会将其提交给它回发表单的操作,并且根本不使用 paypal 代码。当我检查代码的来源时,它没有显示贝宝给出的来自标签。它不会对贝宝给出的表格进行排序。我还必须采用顶部的表单,因为我的页面有 asp.net 控件,这就是为什么这是必要的。
请告诉解决办法
【问题讨论】:
我需要使用以下提到的代码解决方案,但无法使用它。 '' 【参考方案1】:我假设您使用的是 PayPal 标准版。
如果是这样,请从(常规 ASP.Net)表单中收集提交的值。然后像这样将它们转发到 PayPal -
protected void SubmitRadButton_Click(object sender, EventArgs e)
string paypalUrl = IsTestMode ?
"https://www.sandbox.paypal.com/us/cgi-bin/webscr" :
"https://www.paypal.com/us/cgi-bin/webscr";
var builder = new StringBuilder();
builder.Append(paypalUrl);
builder.AppendFormat("?cmd=_xclick&business=0", EmailTextBox.Text);
builder.Append("&lc=US&no_note=0¤cy_code=USD");
builder.AppendFormat("&item_name=0", ItemNameHiddenField.Value);
builder.AppendFormat("&amount=0", AmountTextBox.Text);
builder.AppendFormat("&return=0", ReturnUrl);
builder.AppendFormat("&cancel_return=0", CancelUrl);
builder.AppendFormat("&undefined_quantity=0", 1);
builder.AppendFormat("&item_number=0", ItemNumberHiddenField.Value);
builder.AppendFormat("&cpp_header_image=0", HeaderImage);
HttpContext.Current.Response.Redirect(builder.ToString());
【讨论】:
我需要使用下面提到的代码,还需要在页面上准备会话,并且还需要多个 asp.net 控件。因此,我需要将我的表单作为 runat 服务器,而上述方法不适用于我的 paypal 订阅。如果这里有更多的解决方案,请分享它 您的代码在 ASP.Net 中不起作用。我更新了代码。它基本上收集用户提交的表单(在按钮单击事件之后),并将它们发布到 PayPal。【参考方案2】:我尝试了同样的方法,但没有成功。请查看他们提供的我的贝宝代码,并让我知道如何执行此操作。我以前尝试过上述方法,但这次不能使用代码。可能是订阅代码不同。阅读下面的代码,让我知道如何使用它。
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick" />
<input type="hidden" name="hosted_button_id" value="LL5LZEB8L6T8S" />
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_subscribeCC_LG.gif"
name="submit" />
<img border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif"
/>
</form>
谢谢
【讨论】:
我需要使用上面提到的代码,还需要在页面上准备会话,并且还需要多个 asp.net 控件。所以,我需要将我的表单作为 runat 服务器,而上述方法在我的情况下不适用于 paypal subscriptoin。如果这里有更多解决方案,请分享。【参考方案3】:在处理付款时,您不得在 asp.net 中使用 asp.net 表单标签。
使用这个
<body onload="document.paypal.submit();">
<form name="paypal" action='<%= ConfigurationManager.AppSettings["PayPalSubmitUrl"] %>'
method="post">
// rest html goes here
</form>
</body>
我总是这样处理贝宝
【讨论】:
以上是关于从 runat 服务器 asp.net 内部添加的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ASP.NET 从后面的代码中添加一个额外的 css 类?