1

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

<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但我很难理解如何将这一切联系在一起,却迷失了下一步我能做些什么来让它发挥作用?

4

2 回答 2

1

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

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

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

于 2013-08-22T13:15:05.720 回答
-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" %>
于 2013-08-22T10:15:11.900 回答