Podstawowe kontrolki serwerowe ASP.NET - obsługa zdarzeń

Pomiń łącza nawigacjiStart : Ćwiczenie 03 : Kalkulator  
 

Pomiń łącza nawigacji.

Program kalkulatora z wykorzystaniem kontrolek ASP.NET

W programie kalkulatora wykorzystano ukryte kontrolki ASP.NET: TextBoxX i TextBoxOperacja.
Stan kontrolek jest przekazywany przez ukrytą kontrolkę HTML: __VIEWSTATE.

Bieżąca strona jest umieszczona na stronie wzorcowej MasterPage, co powoduje, rozszerzenie liczby parametrów żądania i poprzedzenie nazw kontrolek strony przedrostkami.
Obecność strony wzorcowej utrudnia odczytywanie parametrów żądania i powoduje niezgodność z ćwiczeniem, dlatego w witrynie umieszczono dodatkową stronę Kalkulator 1 niezawierającą strony wzorcowej.









 

Kalkulator wykonujący obliczenia po stronie serwera, to nie jest dobre rozwiązanie – na jego działanie wpływa częste przesyłanie żądania na serwer i odbieracie odpowiedzi przez przeglądarkę. Bieżący przykład służy ćwiczeniu obsługi zdarzeń, sam kalkulator jest mało przydatny. Lepszym rozwiązaniem kalkulatora jest obsługa zdarzeń przez skrypty JScript, jak w ćwiczeniu 12, lub wykorzystanie technologii AJAX, jak w ćwiczeniu 13.



Tabela parametrów żądania

Parametr __VIEWSTATE jest ciągiem znaków bez spacji, dlatego jego wartość jest wypisywana w jednej linii, co rozciąga stronę. 

NrNazwaWartość
0ALL_HTTPHTTP_CACHE_CONTROL:max-age=259200 HTTP_CONNECTION:keep-alive HTTP_VIA:1.1 squid-proxy-5b5d847c96-vfblk (squid/6.13) HTTP_ACCEPT:*/* HTTP_ACCEPT_ENCODING:gzip, br, zstd, deflate HTTP_HOST:argo.umg.edu.pl HTTP_USER_AGENT:Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) HTTP_X_FORWARDED_FOR:10.2.156.68
1ALL_RAWCache-Control: max-age=259200 Connection: keep-alive Via: 1.1 squid-proxy-5b5d847c96-vfblk (squid/6.13) Accept: */* Accept-Encoding: gzip, br, zstd, deflate Host: argo.umg.edu.pl User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) X-Forwarded-For: 10.2.156.68
2APPL_MD_PATH/LM/W3SVC/1/ROOT/www/aplikacje/Cw03
3APPL_PHYSICAL_PATHC:\Users\Administrator\OneDrive\w3\aplikacje\Cw03\
4AUTH_TYPE
5AUTH_USER
6AUTH_PASSWORD
7LOGON_USER
8REMOTE_USER
9CERT_COOKIE
10CERT_FLAGS
11CERT_ISSUER
12CERT_KEYSIZE
13CERT_SECRETKEYSIZE
14CERT_SERIALNUMBER
15CERT_SERVER_ISSUER
16CERT_SERVER_SUBJECT
17CERT_SUBJECT
18CONTENT_LENGTH0
19CONTENT_TYPE
20GATEWAY_INTERFACECGI/1.1
21HTTPSoff
22HTTPS_KEYSIZE
23HTTPS_SECRETKEYSIZE
24HTTPS_SERVER_ISSUER
25HTTPS_SERVER_SUBJECT
26INSTANCE_ID1
27INSTANCE_META_PATH/LM/W3SVC/1
28LOCAL_ADDR153.19.111.113
29PATH_INFO/www/aplikacje/Cw03/kalkulator.aspx
30PATH_TRANSLATEDC:\Users\Administrator\OneDrive\w3\aplikacje\Cw03\kalkulator.aspx
31QUERY_STRING
32REMOTE_ADDR216.73.216.4
33REMOTE_HOST216.73.216.4
34REMOTE_PORT22270
35REQUEST_METHODGET
36SCRIPT_NAME/www/aplikacje/Cw03/kalkulator.aspx
37SERVER_NAMEargo.umg.edu.pl
38SERVER_PORT80
39SERVER_PORT_SECURE0
40SERVER_PROTOCOLHTTP/1.1
41SERVER_SOFTWAREMicrosoft-IIS/7.5
42URL/www/aplikacje/Cw03/kalkulator.aspx
43HTTP_CACHE_CONTROLmax-age=259200
44HTTP_CONNECTIONkeep-alive
45HTTP_VIA1.1 squid-proxy-5b5d847c96-vfblk (squid/6.13)
46HTTP_ACCEPT*/*
47HTTP_ACCEPT_ENCODINGgzip, br, zstd, deflate
48HTTP_HOSTargo.umg.edu.pl
49HTTP_USER_AGENTMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
50HTTP_X_FORWARDED_FOR10.2.156.68
 Wydział Elektryczny