【问题标题】:Post data to another site from code behind从后面的代码将数据发布到另一个站点
【发布时间】:2013-08-24 21:21:30
【问题描述】:

我有一个网络表单,它向支付网站发布了一些字段。示例使用的结构是

<form method="post" action="<%= FormAction %>">
    <input type="hidden" name="Hash" value="<%= sHash %>" />
    <input type="hidden" name="MID" value="<%= sMID %>" />
    ......
<div class="submit">
    <input type="submit" value="Post Data" />
</div>

在示例项目中,他们在代码隐藏文件中(在声明它们之后)设置了相同的变量值。当点击上面的按钮时,它会将数据发布到相关页面而没有错误,并且用户被重定向到支付页面。

所以我现在在我的网站上的图像按钮的点击事件下尝试相同但不起作用:

<asp:ImageButton ID="ButtonCheckout" runat="server" Text="Go to payment page" ImageUrl="~/Images/Payment.gif" />

当然它不起作用,我添加了上面的所有标记并添加了所有示例代码。

当我运行应用程序时,它会闪烁并停止。我查看 Fiddler 并注意到它根本不去支付网站。母版页已在其中声明 - 以防这有什么不同。

阅读似乎我可以使用图像按钮来发布数据,并通过使用 onClick 事件中的使用 Javascript 进行标记,但我很难理解如何将它们联系在一起,却迷失了下一步我可以做些什么来让它工作?

【问题讨论】:

  • 如果有人将我引导到一个带有示例的页面或给我一个示例,这样我就可以更好地理解而不是在我解释了我的位置后对我的帖子投反对票,这会很有帮助迷茫!!
  • 我同意并发现似乎有些人会在完全没有任何解释的情况下这样做。无论如何,我已经为你 +1 了。
  • 你能把代码放在你的帖子后面吗?
  • 感谢 Westie(以及 Tim 可能提供的答案)。我采取了不同的方法,因为在我被 1 票否决并认为其他人也会这样做之后,我觉得我会浪费时间试图自己弄清楚。我所做的只是将示例代码添加到一个新页面并且它有效。这样做的问题在于,这意味着用户在进入结帐页面之前需要采取额外的步骤。

标签: c# javascript asp.net vb.net


【解决方案1】:
You can such so write:
    <form id="Form2" method="post" runat="server" action="<%= FormAction %>">
    <input type="hidden" name="Hash" value="<%= sHash %>" />
    <input type="hidden" name="MID" value="<%= sMID %>" />
    ......
    <div class="submit">
    <asp:ImageButton ID="ButtonCheckout" runat="server" Text="Go to payment page"/>
    </div>
    </form>

but you must add a few attributes in top of web page,eg:

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" EnableEventValidation="false" EnableViewStateMac="false" ValidateRequest="false" ViewStateEncryptionMode="Never" %>

【讨论】:

  • 对不起,我不明白你要我尝试什么?这与我的问题有什么关系?
  • 这与OP完全无关。
【解决方案2】:

您不能只使用图像按钮发布表单数据。您需要提交表单数据 - 否则您的图像按钮只是一个链接。我经常用 Javascript 来做这件事。

尝试将this.form.submit() 添加到clientclick。或命名您的表单并使用this.formname.submit()

其中任何一个都应该发布您的表单数据。

【讨论】:

    猜你喜欢
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多