Post-Redirect-Get в ASP.NET - PullRequest
       21

Post-Redirect-Get в ASP.NET

0 голосов
/ 16 июля 2009

Я делаю постбэк в моей Page1.aspx на другую страницу. Если нажать клавишу F5 в Page1.aspx, появляется сообщение (Чтобы снова отобразить веб-страницу, Internet Explorer необходимо повторно отправить ранее отправленную информацию. Если вы совершали покупку, нажмите «Отмена», чтобы избежать дублирования транзакции. В противном случае нажмите «Повторить», чтобы снова отобразить веб-страницу.)

У меня есть этот код JavaScript, который является решением для моей проблемы ??

заранее спасибо

function calc() 
{
    var pagoConPopup = true;

    if (pagoConPopup) 
    {
        var ventanaTPV = window.open('', 'ventanaTPV', 'width=725,height=600,scrollbars=no,resizable=yes,status=yes,menubar=yes,location=yes');

        if (ventanaTPV == null || !ventanaTPV || typeof (ventanaTPV) == "undefined") 
        {
            alert("Se ha detectado bloqueador de ventanas emergentes. Desactívelo para proceder al Pago");
        }
        else 
        {
            document.forms[0].target = 'ventanaTPV';
            hacerSubmitPOST();
            ventanaTPV.focus();
        }
    }
    else 
    {
        hacerSubmitPOST();        
    }
}


function hacerSubmitPOST() 
{
    //*** Prueba de Hack ***
    //alert('Prueba de hack Amount');
    //document.getElementById("Amount").value = "12000";
    //*** Fin Prueba de Hack ***
    document.forms[0].action = '<%=strURLTpvVirtual%>';
    document.forms[0].submit();    
}

Ответы [ 2 ]

1 голос
/ 17 июля 2009

Сценарий регистра button1_click для функции калькуляции JavaScript. Эта функция calc действительно отправляет на другую страницу.

protected void Button1_Click(object sender, EventArgs e) 
{ 
   strDs_Merchant_MerchantURL = Request.Params["Ds_Merchant_MerchantURL"]; 
   ... 

   Page.ClientScript.RegisterStartupScript(this.GetType(), "jsPagoPorTPV", 
         "<script language='JavaScript'>calc();</script>"); 

} 

В aspx:

< input type="hidden" name="Ds_Merchant_MerchantURL" value="< % =strDs_Merchant_MerchantURL% >" > 

Спасибо, господин.

1 голос
/ 16 июля 2009

Если после перенаправления URL-адрес все еще содержит Page1.aspx, то на самом деле перенаправление не произошло, поскольку URL-адрес изменится на URL-адрес другой страницы. Разместите свой код на стороне сервера, чтобы мы могли посмотреть, где должно происходить перенаправление.

...