Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ASP.NET - problem sa FORM tagom

[es] :: .NET :: ASP.NET :: ASP.NET - problem sa FORM tagom

[ Pregleda: 2588 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

student8

Član broj: 32641
Poruke: 2
*.rcub.bg.ac.yu



Profil

icon ASP.NET - problem sa FORM tagom23.08.2004. u 14:06 - pre 211 meseci
Početnik sam u C# ASP.NET programiranju. Radim seminarski rad koji treba da se sastoji iz nekoliko web formi.

Startna web forma `WebForm1.aspx` ima tag <form .. runat=server></form> sa default akcijom na tu istu formu, i podaci se korektno šalju na istu. Problem nastaje kada želim da mi se podaci šalju na neku drugu formu (recimo `NovaForma.aspx`), koju dodam preko wizarda, promenim action parametar (action=NovaForma.aspx), i startujem aplikaciju - eksplorer i dalje koristi stari action (iako se u Visual Studiu svuda registruje novi action - u HTML pogledu, čak i u Properties panelu).

Molim za objašnjenje - gde grešim.
Ukoliko mislite da sam stvar uradio ispravno, možete li da pošaljete ovde neki primerčić (od 2 web forme) koji je funkcionalan? Hvala unapred.
 
Odgovor na temu

nervozica
Novi Beograd

Član broj: 18671
Poruke: 77
*.nasamreza.com



Profil

icon Re: ASP.NET - problem sa FORM tagom25.08.2004. u 20:00 - pre 211 meseci
izgleda da po defaultu stavlja svoj action. Nikakvo pametno objasnjenje za sada nemam, ali zato mozes da izvrsis redirekciju strane.

Response.Redirect("WebForm2.aspx")
Djankam se, kuzish.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6025



+4621 Profil

icon Re: ASP.NET - problem sa FORM tagom29.08.2004. u 14:28 - pre 211 meseci
Postoji način da se isforsira promena target-a, treba ubaciti sledeći kod:
Code:
private void Page_Load(object sender, System.EventArgs e)
{
   RegisterOnSubmitStatement("submit", "document.Form1.action='WebForm2.aspx'");
}


Međutim, prvo na šta ćeš naleteti je blokada u WebForm2. Izbaciće ti grešku:
The viewstate is invalid for this page and might be corrupted.
Mali pogled u MSDN daje:
Citat:
This problem occurs because the EnableViewStateMac attribute of the <pages> element is set to true by default. When this attribute is set to true, ASP.NET runs a message authentication check (MAC) on the view state of the page when the page is posted back from the client. This check determines if the view state of the page was modified on the client. For security purposes, it is recommended that you keep this attribute set to true.


Dakle, u target stranici ne smeš koristiti siguronosnu proveru ViewState, pa moraš staviti:
enableViewStateMac="False" unutar <%@ Page ... %> direktive.

Sva polja sa prethodne stranice, uključujući i ViewState koji se nalazi u skrivenom polju __VIEWSTATE možeš pročitati iz Request.Form kolekcije. Nisam proveravao, ali mislim da ćeš imati i neke konflikte ako na obe stranice imaš kontrole različitog tipa sa istim ID, itd.

U svakom slučaju, ovo je bilo "Kako to uraditi?", a konkretan savet je "Nemoj ovo raditi"
ASP.NET nije predviđen da radi kao ASP, cela njegova moć se uglavnom zasniva na tome da ista stranica primi action reponse kako bi se obavljala server-side obrada. Ako samo hoćeš da pređeš na drugu stranu koristi Resposne.Redirect kako ti je nervozica rekao, a ako hoćeš da preneseš Form i QueryString kolekcije unutar serverske obrade, koristi Server.Transfer("WebForm2.aspx, true); (za ovo drugo rešenje takođe moraš da prebaciš enableViewStateMac na false).


Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

ZokiR
Zoran Radojković
Melburn, Australija

Član broj: 15986
Poruke: 109
*.nexnet.net.au



Profil

icon Re: ASP.NET - problem sa FORM tagom30.08.2004. u 06:41 - pre 211 meseci
Citat:
mmix:
U svakom slučaju, ovo je bilo "Kako to uraditi?", a konkretan savet je "Nemoj ovo raditi" :)
ASP.NET nije predviđen da radi kao ASP, cela njegova moć se uglavnom zasniva na tome da ista stranica primi action reponse kako bi se obavljala server-side obrada.

S tim što se to menja u ASP.NET 2.0 u kome će postback moći da ide na neku drugu stranu korišćenjem PostTargetUrl propertija.
 
Odgovor na temu

[es] :: .NET :: ASP.NET :: ASP.NET - problem sa FORM tagom

[ Pregleda: 2588 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.