2017-06-13 1 views
0

J'essaie de passer une variable d'une page web asp à une autre, mais quand je passe la variable avec plus de 5 chiffres, elle ne fait pas entrer mes entrées html mettre à jour.Les entrées HTML ne sont pas mises à jour après avoir passé la variable asp à 6 chiffres de la page précédente

Voici la page où le optionprice variables est créée

index.asp

<%@ Language="VBScript" CodePage=65001 %> 

<% 
plan = Request("plan") 
If plan = "" Then plan = "1" 
modelid = Request("modelid") 
If modelid = "" Then modelid = "0" 
optionprice = Request("optionprice") 
If optionprice = "" Then optionprice = "0" 
'Responce.Write("optionprice=" & optionprice) 

'plan = Request.Form("plan") 
'If plan = "" Then plan = "1" 
'modelid = Request.Form("modelid") 
'If modelid = "" Then modelid = "0" 
'Response.Write("plan= " & plan) 
'Response.Write("modelid= " & modelid) 
dpop = Request.QueryString("dpop") 
If dpop = "on" Then dpop = "on" 
' Response.Write("dpop= " & dpop) 
%> 

Et la page de résultats est result_ct.asp

optionprice = Request.Form("optionprice") 
    If optionprice <> "" Then optionprice = optionprice * 1 
    optionprice_2 = optionprice 

Voici le code html formulaire et saisie

index.asp

<form NAME="form1" action="result_ct.asp" method="post" style="margin:0;"> 
<dl class="downpaymentform"> 
       <dt>諸費用・オプション代など</dt> 
       <dd><div class="input"><input type="text" name="optionprice" maxlength="7" class="blue" value="<%= optionprice %>"><p>円</p></div></dd> 
      </dl> 
</form> 

Je frappais la tête contre un mur, toute aide est grandement appréciée!

+1

Ce n'est pas ASP.NET, c'est ASP classique. – Dai

+0

merci pour la correction –

+0

Nous devons voir le code où vous rendez les éléments '

' et '', et soumettez-vous le formulaire via GET ou POST? – Dai

Répondre

2

je dirais que la question est probablement dans ce code

If optionprice <> "" Then optionprice = optionprice * 1 
optionprice_2 = optionprice 

Au lieu de cela, ont les suivantes et utiliser le CLng (Convertir en fonction longue)

If optionprice <> "" 
    optionprice_2 = CLng(optionprice) 
else 
    optionprice_2 = 0 
end if 

Si elle est décimal, utilisez plutôt CDbl. La raison pour laquelle il échoue est que votre tentative de le transformer en numérique en multipliant par un, signifie que vous le multipliez par un nombre entier, donc il essayera de le transformer en entier qui a une gamme de -32 768 à 32 767. Donc, tout ce qui dépasse 32 767 échouera. Une longueur peut être un nombre entier compris entre -2 147 483 648 et 2 147 483 647

. Un double est un nombre à virgule flottante double précision compris entre -1,79769313486232E308 et -4,94065645841247E-324 pour les valeurs négatives; 4.94065645841247E-324 à 1.79769313486232E308 pour les valeurs positives.