ASP.NET и классическая форма HTML - PullRequest
0 голосов
/ 26 января 2012

Я внедряю стандартную платежную систему, которая отправляет некоторую информацию в форму третьей части. У меня есть объект оформления заказа, в котором хранится вся моя информация о покупках: идентификатор, купленные товары, цена - вы называете это.

Люди переводятся на страницу ASPX, которая имеет реализацию, как показано ниже.

В настоящее время у меня есть следующая проблема :

Значения, отправленные на входы, в которых runat = "server" равно 0. Поэтому я получаю ошибку. Тем не менее, в событии OnPreInit в коде, я установил значения сумма, accepturl и orderid. Я вижу, что скрытые поля получают правильную информацию при загрузке страницы, но когда форма запускается (что, очевидно, происходит до события OnPreInit), она по-прежнему равна 0.

Как мне решить эту проблему? В основном мне нужно использовать HTML-форму, которая открывает всплывающее окно (которое ДОЛЖНО отображаться при загрузке страницы), где я должен установить скрытые поля. Должно быть довольно просто, но после того, как я потратил часы на это, я был бы очень признателен за помощь.

В настоящее время моя реализация выглядит так:

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

Большое спасибо ...

1 Ответ

0 голосов
/ 26 января 2012

Попробуйте установить входные значения в событиях инициализации или загрузки страницы. ViewState недоступен во время PreInit (хотя могут быть некоторые исключения).

Если вам абсолютно необходимо выполнить свою логику во время PreInit, тогда эта страница может помочь вам.

...