将数据从代码隐藏发布到另一个网站

本文关键字:另一个 网站 隐藏 数据 代码 | 更新日期: 2023-09-27 18:28:30

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

<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,注意到它根本没有去支付网站。母版页已经在里面声明了——如果这有什么不同的话。

仔细阅读,我似乎可以使用图像按钮来发布数据,并通过使用Javascript标记中的onClick事件来执行与提交按钮完全相同的操作(提交按钮在上面,它是支付提供商的示例应用程序的一部分),但我很难理解如何将所有这些联系在一起,我不知道接下来该怎么做才能实现这一点?

将数据从代码隐藏发布到另一个网站

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

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

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

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