C# ASP.NET和经典的HTML表单
我正在实施一个标准的支付系统,它将一些信息发送到第三方表单。我有一个结帐对象,它存储了我所有的购物信息:ID、购买的产品、价格——随便你怎么说 人们被转移到一个ASPX页面,该页面的实现如下所示 目前我有以下问题: 在具有runat=server的输入上发送的值为0。因此我得到一个错误。但是,在代码隐藏中的OnPreInit事件中,我设置了amount、accepturl和orderid的值。我可以看到隐藏字段在加载页面时获得了正确的信息,但是当表单被触发时(这显然发生在OnPreInit事件之前),它仍然是0 我如何解决这个问题?基本上,我需要使用一个HTML表单来打开一个弹出窗口,该窗口必须在页面加载时显示,在这里我必须设置隐藏字段。应该很简单,但在我用了几个小时之后,我真的非常感谢你的帮助 目前我的实现是这样的:C# ASP.NET和经典的HTML表单,c#,asp.net,html,forms,hidden-field,C#,Asp.net,Html,Forms,Hidden Field,我正在实施一个标准的支付系统,它将一些信息发送到第三方表单。我有一个结帐对象,它存储了我所有的购物信息:ID、购买的产品、价格——随便你怎么说 人们被转移到一个ASPX页面,该页面的实现如下所示 目前我有以下问题: 在具有runat=server的输入上发送的值为0。因此我得到一个错误。但是,在代码隐藏中的OnPreInit事件中,我设置了amount、accepturl和orderid的值。我可以看到隐藏字段在加载页面时获得了正确的信息,但是当表单被触发时(这显然发生在OnPreInit事件之
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="BetalingMedKort.aspx.cs" Inherits="BetalingMedKort" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script type="text/javascript" src="http://www.epay.dk/js/standardwindow.js"></script>
<title></title>
</head>
<body onload="open_ePay_window()">
<form action="SomeUrl" runat="server" method="post" name="ePay" target="ePay_window" id="ePay">
<input type="hidden" name="merchantnumber" value="MyStaticMerchantNumber" />
<input type="hidden" name="language" value="1" />
<input type="hidden" name="currency" value="208" />
<input type="hidden" name="amount" id="amountField" runat="server" />
<input type="hidden" name="accepturl" id="acceptUrlField" runat="server" />
<input type="hidden" name="orderid" id="orderIdField" runat="server" />
<input type="hidden" name="declineurl" value="SomeUrl" />
</form>
<div>
If the ePay Payment Window does not open automatically please click on the button below to open it.
<br /><br />
Notice! If you are using a pop-up blocker, you must hold down the CTRL key as you click the button.
<br /><br />
<input type="button" value="Open the ePay Payment Window" onClick="open_ePay_window()">
</div>
</body>
</html>
非常感谢…尝试在页面的Init或Load事件中设置输入值。ViewState在PreInit期间不可用,尽管可能存在一些异常
如果您必须在PreInit期间执行逻辑,那么这可能有一个解决方法。您可以使用,并将其.Text设置为。我已尝试在OnLoad、OnInit、Page_Load和PreInit中设置值。还是不走运。有什么想法吗-/当值为0时,您何时获得这些值?你能发那个密码吗?确保在Init、Load或以后的事件中获取的值不是PreInit。我的问题是我引用了错误的输入字段,因为我给了它们一个ID和runat=server,ID与名称不同。名字改成了我的ID。你的帖子很有帮助——这也是一个问题:-