J'ai une page aspx avec UpdatePanel. En code-behind, je définis une variable et une fonction publique. La fonction utilise la date d'entrée pour calculer la variable publique de la base de données.Impossible d'obtenir la valeur var côté serveur après la publication dans UpdatePanel
Public myRate As Decimal
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
CalcT.Attributes.Add("onchange", "cstgst();")
'......
GetTaxRates()
End Sub
Public Function GetTaxRates() As Boolean
//this function get user input date to calc the data from database
Dim mydate As DateTime = UI.GetDate(DateInput.Text) //UI.GetDate is a function to convert string to datetime
'....
End Function
En page ASPX, je mis la zone de texte comme: (AutoPostBack, à l'intérieur UpdatePanel)
<asp:UpdatePanel>
<asp:TextBox ID="DateInput" runat="server" AutoPostBack="true" ></asp:TextBox>
</asp:UpdatePanel>
puis-je essayer d'MyRate en javascript comme:
function Test(){
var rate = '<%=myRate%>'
//....
}
À première fois Pour charger cette page, je peux obtenir la bonne valeur pour myRate. Mais lorsque j'ai modifié DateInput avec une nouvelle valeur de date, la publication est déclenchée et la fonction GetTaxRates() a été appelée et la bonne valeur a été définie dans myRate lors du débogage du code et de la vérification de la valeur. Le problème est javascript ne peut pas obtenir cette nouvelle valeur. Il obtient toujours la première valeur.
Comment résoudre ce problème?
Merci. Comment déplacer la fonction javescript dans UpdatePanel? Comme façon suivante?