[Gambas-user] variable in WebForm not remember
Benoît Minisini
gambas at ...1...
Mon Jan 16 01:37:38 CET 2017
Le 16/01/2017 à 01:20, מיוסט שרון a écrit :
>>> hello
>>>
>>> I have WebForm1
>>> I put on the WebForm1 two controls of WebButton1 WebButton2
>>> I have a variable of type String named my_A
>>> I would like when I press the WebButton1 the my_A = "sharon" and when I click on
>>> WebButton2 I want to get the value found in my_A
>>>
>>>
>>> The problem that when I click on WebButton2
>>> The value of the variable my_A is empty ""
>>>
>>> It's what's inside that WebForm1.class
>>>
>>> ' Gambas class file
>>>
>>> Export
>>> Private my_A As String
>>>
>>> Public Sub WebButton1_Click()
>>>
>>> my_A = "sharon"
>>>
>>> End
>>>
>>> Public Sub WebButton2_Click()
>>>
>>> WebButton2.Text = my_A
>>>
>>> End
>>>
>>
>> Yes, this is the main difference between a "normal" application (one
>> process that runs continuously) and a "webform" application (one process
>> by request).
>>
>> With a web application, the only way to keep things persistent is using
>> the Session object.
>>
>> With a WebForm, you can store permanent things by using it like an
>> array, which use internally the Session object of course.
>>
>> So you can write:
>>
>> Export
>>
>> Public Sub WebButton1_Click()
>>
>> Me["my_A"] = "sharon"
>>
>> End
>>
>> Public Sub WebButton2_Click()
>>
>> WebButton2.Text = Me["my_A"]
>>
>> End
>>
>> So, never forget that your application is a web application that is not
>> persistent between two events (the request is mostly the full handling
>> of one event coming from the web browser. The response is the refresh of
>> the web browser contents).
>>
>> Regards,
>>
>> --
>> Benoît Minisini
>
>
> Thank you it works
>
>
>
> I have another question that code:
>
> ' Gambas class file
>
> Export
>
> Public Sub WebButton1_Click()
> Dim hWeb As WebButton
>
> WebButton1.Text = "btn1_text"
> WebButton1.Tag = "btn1_tag"
> Me["my_A"] = WebButton1
>
> hweb = Me["my_A"]
> WebTextBox1.Text = hWeb.Text
> WebTextBox2.Text = hWeb.Tag
> End
>
> Public Sub WebButton2_Click()
> Dim hWeb As WebButton
>
> hWeb = Me["my_A"]
> WebTextBox1.Text = hWeb.Text
> WebTextBox2.Text = hWeb.Tag
> End
>
>
> WebButton1 the event of a hWeb this is fine value of WebButton1
> But the event of WebButton2 value of hWeb get "NULL"
>
Not everything can be stored in the session. Especially object
references (as they are valid only in the same process).
You can put in a "WebForm variable" (i.e. Me[xxx]) : booleans, numbers,
strings, dates, variant, arrays and collections.
I hope I will be able to start writing the documentation of the
gb.web.form component soon.
Regards,
--
Benoît Minisini
More information about the User
mailing list