Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
taurib
HV vaatleja
liitunud: 26.08.2010
|
02.01.2013 18:48:43
ASP.NET C# veebi mäng, väärtuste probleemid. |
|
|
Tere
Selline kiire küsimus
Ma teen ise siin sellist mängu nagu 21. Ja igakord, kui ma vajutan nuppu, et ta mulle kaardi juurde annaks, eelnev väärtus justkui kaob. Kas nupu vajutusel siis tõesti leht laeb igakord uuesti?
Ja selleks, et neid väärtusi alles hoida, pean tegema andmebaasi ühenduse selleks? :/
|
|
tagasi üles |
|
 |
Fukiku
Kreisi kasutaja

liitunud: 06.11.2003
|
02.01.2013 19:02:07
|
|
|
Kui sa eraldi pole vaeva näinud selle nimel, et AJAX-i abil lehe uuesti laadimist vältida, siis jah - nupu vajutamine (mis tähendab enamasti lehel oleva vormi sisu serverisse saatmist) laeb kogu lehe uuesti. Andmete säilitamiseks pole aga vaja kohe andmebaasi poole vaadata. Üks võimalus on andmeid hoida lehel vormis näiteks hidden tüüpi väljades, siis saad nupuvajutuse peale ka hetke mänguseisu kaasa ning sellega arvestades genereerid uue lehe, kus uus mänguseis kirjas. Teine variant on andmeid hoida serveri poolel sessiooni salvestatuna.
Täpsema abistamise huvides oleks vaja juba ka täpsemalt formuleeritud küsimusi ja ka ilmselt jupikesi tehtud tööst..
_________________ Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist. |
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
taurib
HV vaatleja
liitunud: 26.08.2010
|
02.01.2013 19:25:00
|
|
|
Sessioonidesse salvestamist peaks täiesti uurima, ei tundu väga raske ka see olevat
Kuid kas sessioonid töötavad ka siis, kui sa pole mingi otsese kasutajana sisse logitud, et võtab mingi IP või asja järgi?
AJAX'iga ei ole siiani veel tegelenud tõesti, seda asja teen ka siin enamvähem lihtsalt enda huvides ja arengu eesmärkidel
|
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
02.01.2013 19:41:58
|
|
|
Oleneb kas sul on vaja lehte laadida või mitte, kui pole, siis kasuta õiget nuppu ja lehte ei laeta ringi.
Form saatmiseks on submit nupp, koodis "Nupp1".
Kui kasutada button tüüpi nuppu, siis formi ei saadeta, koodis "Nupp2".
<form action="http://www.domain.com/" method="post">
<input type="submit" value="Nupp1">
<input type="button" value="Nupp2">
</form> |
Selline 21 tüüpi mäng saaks töötada ka kindlasti nii, et polegi vaja lehte igakord uuesti laadida.
tsitaat: |
Kuid kas sessioonid töötavad ka siis, kui sa pole mingi otsese kasutajana sisse logitud, et võtab mingi IP või asja järgi? |
Jah session töötab iga kasutaja puhul.
Kui sa mõtled, et üle veebi, teise kliendiga paaris mängides, siis teise kasutaja sessioni sa kätte ei saa. Session on ikka ainult ühe arvutiga/browseriga seotud.
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
taurib
HV vaatleja
liitunud: 26.08.2010
|
02.01.2013 19:52:42
|
|
|
Sessioonidega sain asja tööle ja hetkel see ainult mõeldud ühe inimese mänguna ka, nii et igati hästi
Aga nende nuppudega on mul selline asi, et need näevad mul välja koodis sellised:
<asp:Button ID="UusMangBTN" runat="server" Text="Alusta uut mängu"
Width="140px" onclick="UusMangBTN_Click" /> |
Et ma ei saanud ka aru, kas see submit on see, mis ei lae lehte uuesti?
Ma kasutan ASP.NET nuppu, kuigi on ka võimalik võtta sealt HTML alt lihtsalt nuppe:
|
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
02.01.2013 20:13:01
|
|
|
Uuesti ei lae button html koodis, asp pole kindel ei tea.
Ja kui kasutad servers töötlust on sul nii või teisiti vaja serveri poole pöörduda ehk lehte laadida. Kui ütlesin, et saaks teha ka ilma laadimata, siis mõtlesin mingit keelt mis töötab browseris või siis juba eelpool mainitud AJAX lahendus.
Sul ongi jah button pandud, kuid sellel on küljes event onclick="UusMangBTN_Click"
ja see siis pöördubki sul serveri poole, samas võiks see ka browseri siseselt asju toimetada.
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
taurib
HV vaatleja
liitunud: 26.08.2010
|
02.01.2013 20:18:05
|
|
|
asp.net nuppude puhul on jah ainult võimalik serveris töötamine :/
Aga eks ma järgmine kord tean, see kõik niigi suht katsetamise asi ainult
Aga tänud teie vastuste eest, seda AJAXi teemat ma uurin siin mingiaeg siis
|
|
tagasi üles |
|
 |
neros
HV Guru

liitunud: 26.11.2003
|
02.01.2013 20:51:42
|
|
|
Soovitan uurida natuke sellist asja nagu ASP.NET MVC4 Võin sulle kinnitada, et ASPi seda moodi progedes, nagu sa praegu seda teed, lähed sa varsti lihtsalt hulluks.
_________________ GitHub
.NET Core & Azure baasil lahendused ja arhitektuur - kontakt. |
|
Kommentaarid: 48 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
40 |
|
tagasi üles |
|
 |
taurib
HV vaatleja
liitunud: 26.08.2010
|
02.01.2013 21:55:24
|
|
|
Mis asi see täpsemalt on?
Mida see mulle progamisel juurde annab?
viimati muutis taurib 03.01.2013 12:48:04, muudetud 2 korda |
|
tagasi üles |
|
 |
YberCyrus
HV vaatleja
liitunud: 27.02.2010
|
03.01.2013 09:30:46
|
|
|
taurib kirjutas: |
Mis asi see täpsemalt on?
Mida see mulle progamisel juurde annab?  |
Kasutab MVC patternit ehk sa ei pea kasutama Webformse. Kasutad tavalisi HTML elemente või siis HTML helpereid mis genereerivad sulle HTML elemendid. Pole sellist asja nagu code behind vaid on controllerid. Üldiselt lubab MVC sul kasutada separation of concerns printsiipi. ASP.NET MVC on väga liberaalne ja sa ei pea kasutama seda frameworki nii nagu Microsoft kunagi seda ette nägi. Näiteks on seal äärmiselt lihtne rakendada http://en.wikipedia.org/wiki/Single-page_application lähenemist. Eriti kui sa tahad AJAXit näperdama hakata on ASP.NET MVC väga hea valik. Seal on võimalik JSONit tagasi pritsida nii tavalisest controllerist kui ka Web APIst. Viimase puhul muidugi by default ei saa accessida sessioone kuna see läheb vastuollu REST mudelile.
|
|
tagasi üles |
|
 |
neros
HV Guru

liitunud: 26.11.2003
|
03.01.2013 11:25:01
|
|
|
Nagu öeldud, ASP.NET MVC puhul on tegemist raamistikuga mis teeb sinu eest terve hunniku tööd ära ning pakub lisaks terve hunniku teeke. Sama lugu on AJAXiga, kui tava (non-ajax) formi jaoks tehakse:
@using(Html.BeginForm())
{
@Html.HiddenFor(x => x.field)
@Html.EditorFor(x => x.field2)
<input type="submit">
}
|
Kus submitile vajutamine submitib formi ja refreshib lehe,
@using(Ajax.BeginForm())
{
@Html.HiddenFor(x => x.field)
@Html.EditorFor(x => x.field2)
<input type="submit">
}
|
Üks sõna ühel real ära vahetada ning formi post muutub XMLHTTPRequestiks.
Session state hoidmine ei ole keerulisem kui tavalises ASPis, sul on ikka Session objekt mis on "kasutajapõhine". Pole väga keeruline ka komplitseeritumat sessioonimanageri tekitada, kuna ASP.NET ei ole interpreteeritud keel vaid istub IISi AppPoolis, siis on ta samasugune programm nagu misiganes mis sa .exe lõpuga käima lased ning staatilised objektid on mälus käivitamisest sulgemiseni, mistõttu on võimalik kasutajate vahel sidet luua. Aga see pole MVC põhine featuur vaid .NETi oma üldiselt, lihtsalt mõtlesin vahele pista
_________________ GitHub
.NET Core & Azure baasil lahendused ja arhitektuur - kontakt. |
|
Kommentaarid: 48 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
40 |
|
tagasi üles |
|
 |
taurib
HV vaatleja
liitunud: 26.08.2010
|
03.01.2013 16:34:31
|
|
|
Hmm, palju uurimist tegema selle teema kallal siis
Ma siin ise tasapisi teen ja õpin, ning igasugused soovitused on igati teretulnud, kuidas asjad töötada võiksid
Seda MVC asja ma uurin veel ja hetkel plaanis väga kahe arvutivahelist actionit tekitada pole, kuid eks ka see mingiaeg sisse tuua
Tänud teile kõigile, kes te siin aitasite ja soovitsite
|
|
tagasi üles |
|
 |
|