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

QueryString se neprenosi kako treba ..

[es] :: .NET :: ASP.NET :: QueryString se neprenosi kako treba ..

[ Pregleda: 2124 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

torb-d-man

Član broj: 156284
Poruke: 124



Profil

icon QueryString se neprenosi kako treba ..11.03.2009. u 13:57 - pre 183 meseci
Kako znam da se neprenosi? Tako što pri debagovanju na serverskoj strani na Page Load-u:

Dim deleteID As String = Request.QueryString("delid")
If Not String.IsNullOrEmpty(deleteID) Then
ObrisiOvajArtikal(deleteID)
id_za_brisanje.Value = ""
End If

deleteID je Nothing.. i ova fuja 'ObrisiOvajArtikal()' u if uslovu se preskoči.

Kako znam da je uopšte vrednost poslata? Tako što sa JS alertom izbacim url
koji će se tek otvoriti i u njemu lepo piše vrednost ('00azuriranje.aspx?delid=43').
+ znam zato što se nekad uspešno sve izvrši a kasnije/nekad ntz.
-------------------------------------
JS sa klijentske strane (onclick na neko dugme):
Code:
{   
    d=document.getElementById('id_za_brisanje');//ovo je input hidden polje
    d.value=(js_idproizvoda[selektovani_artikal_RB]).toString();//ovde u polje stavljam neki broj
    var delstrurl = "00azuriranje.aspx?delid=" + d.value.toString();alert(delstrurl); //alert izbaci '00azuriranje.aspx?delid=43'
    window.open(delstrurl,"_self");
    location.reload(true);//na kraju refresh-ujem stranicu
}

sa serverske strane ('00azuriranje.aspx.vb') na Page Load:
Code:
Dim deleteID As String = Request.QueryString("delid")  'nekad ima vrednost nekad ne.
If Not String.IsNullOrEmpty(deleteID) Then
          ObrisiOvajArtikal(deleteID)
          id_za_brisanje.Value = ""
End If


<%@ Page Language='VB' AutoEventWireup='false'
validateRequest="true" SmartNavigation='true'
CodeFile='00azuriranje.aspx.vb' Inherits='x00azuriranje' %>
.
.
.
<input runat='server' id='id_za_brisanje' type='hidden' value='' />
.
.
.

Moje pitanje: Zašto nekad QueryString prenese vrednost a nekad ne ? Šta sam propustio ? Unapred hvala na svakom odgovoru.
 
Odgovor na temu

Drasko M
Beograd

Član broj: 136941
Poruke: 37
91.148.91.*

Sajt: www.direktnaprodaja.com


+1 Profil

icon Re: QueryString se neprenosi kako treba ..11.03.2009. u 16:36 - pre 183 meseci
Nema potrebe da izbacujes javascript alert.
Ako je query string prenesen on ce se pojaviti u nastavku adrese (posle upitnika) u web browser-u.
Pokusavas da prosledis query string istoj web strani sa koga ga saljes(reload)?
 
Odgovor na temu

pl4stik
Senior .NET programmer/Consultant
oDesk
NI na nebu NI na zemlji

Član broj: 173596
Poruke: 715
82.117.195.*

Sajt: xx-auth.com.azhar.arvixe...


+31 Profil

icon Re: QueryString se neprenosi kako treba ..12.03.2009. u 08:15 - pre 183 meseci
Ko sebe da gledam pre koju godinu

Nisam siguran da ti u ovakvoj situaciji QueryString uopste treba ali mi se cini da pokusavash da u QueryString smestish nepostojeci podatak, verovatno ga obrises pa ponovo filtrirash upit po tom sad vec nepostojecem podatku. Sve u svemu da znash, podaci se smestaju u QueryString obicno kad se prenose sa strane na stranu npr. sa strane 1 pokupis parametar 1, sa strane 2 parametar 2 pa trecu stranu filtrirash sa ta dva parametra...

Off
Inace kad kroz QueryString prenosish parametre oni se vide u address baru dok npr. ako ih smestas u Profile onda se ne vide ali ako pogledash source strane koja prima podatke videces ih, tu je i Session koji isto prenosi podatke sa strane na stranu ali su kriptani i ne mozes da ih vidish ...

Eto tako

Happy coding!!!
To sto nekoliko miliona ljudi tvrdi da nisi u pravu ne znaci da stvarno nisi - Frank Zappa

https://youtu.be/DLe358DPGXU
 
Odgovor na temu

torb-d-man

Član broj: 156284
Poruke: 124



Profil

icon Re: QueryString se neprenosi kako treba ..12.03.2009. u 16:29 - pre 183 meseci
@Drasko M
Jeste nema potrebe za alertom, osim ako debaguješ pa vidiš samo blank stranicu sa praznim adress poljem.
Jeste QueryString šaljem istoj stranici pošto je to meni jedini poznat način da na JavaScript event (onclick)
pozovem neku fuju na serverskoj strani *.aspx.vb koja će potom da izvrši neki SQL upit (u ovom slučaju
brisanje neke stavke iz baze). Tako sam ja smislio (ako postoji lakši način...)
Tako da pomoću JS-a 'windov.open();' evociram Page Load u VB-u koji onda proverava da li postoji ID za brisanje,
ako postoji izbriši stavku u bazi i onda izščitaj sve stavke i generiši stranicu. U protivnom samo uzmi podatke iz baze i napravi stranicu.

Citat:
Ko sebe da gledam pre koju godinu
I je li sve bilo vredno truda? xexe.

@pl4stik
Reci mi kad si već pomenuo Session promenljive jel postoji način da se pomoću JavaScripta dodelim vrednost Session promenljivoj.
Meni nije poznato pa sam zato pokušao preko QueryStringa. Na kraju sam i uspeo.. samo mi nije trebao onaj reload na kraju JS fuje.
To sam izkomentarisao i sad prolazi stalno.

Tako da problem rešen.. samo ako znate ovo za session promenljive i JS recite kako.
 
Odgovor na temu

Drasko M
Beograd

Član broj: 136941
Poruke: 37
91.148.81.*

Sajt: www.direktnaprodaja.com


+1 Profil

icon Re: QueryString se neprenosi kako treba ..12.03.2009. u 21:24 - pre 183 meseci
Aha...
Pa predlazem ti da postavis jedno skriveno polje (hiden field) - prevuci ga na formu iz toolbox/standard. Bitno je da ima atribut runat="server" .
neka se to polje zove deleteID. (njegovom sadrzaju se pristupa sa .value , a ne .text)
NA on_click event-u stavi ovu ili slicni js funkciju:
function submitform()
{
document.myform.submit();
}

PAZNJA:
myform ce biti zapravo neka 'kobasica' koja je naziv asp net forme. Tacan naziv ces videti kad pogledas html source strane koju je generisao asp.net developement server(znaci kad pokrenes aplikaciu).
Takodje, hiden fild polje ce takodje biti 'kobasica' ciji pravi naziv utvrdis na isti nacin.
I bolje koristi javascript referenciranje document.getElementByID nego windows.document.nazivelementa jer to radi na svim browserima
Pozz
 
Odgovor na temu

Drasko M
Beograd

Član broj: 136941
Poruke: 37
91.148.81.*

Sajt: www.direktnaprodaja.com


+1 Profil

icon Re: QueryString se neprenosi kako treba ..12.03.2009. u 21:49 - pre 183 meseci
Znaci funkcija koja se vezuje za on_click event koju pises u klijentskom javascript odeljku je:

function submitform()
{
document.form.getElementById('ctl00_ContentPlaceHolder1_deleteID').value = neka_vrednost_za_deleteID ;
document.aspnetForm.submit();
}

na starni servera je normalno procitas kao deleteID.value
 
Odgovor na temu

torb-d-man

Član broj: 156284
Poruke: 124



Profil

icon Re: QueryString se neprenosi kako treba ..13.03.2009. u 13:40 - pre 183 meseci
Stavio sam ... <input runat='server' id='delid' type='hidden' value='' />
na JS onclick na neko dugme izvršava se kod:
Citat:
function submitform()
{
document.getElementById('delid').value=(js_idproizvoda[selektovani_artikal_RB]).toString();
document.getElementById('frmAzuriranje').submit();
}

Ovaj submit() evocira postBack, znači na serverskoj strani 'isPostBack' je 'True':
Citat:
If IsPostBack Then
Dim del As String = delid.Value
If Not String.IsNullOrEmpty(del) Then
MsgBox("del: " + del)
End If
.
.
.
End If

Međutim delid.Value je uvek prazno, a to što si rekao da u toku izvršenja stranice hidden field
menja ovaj id='delid' u neki 'ctl00_ContentPlaceHolder1_deleteID' (ne mislim bukvalno ovaj nego npr.
tako kako si ti naveo) se ne dešava; ni id forme se nemenja. Zašto nemože sad da vidi value od ovog hidden polja?
 
Odgovor na temu

Drasko M
Beograd

Član broj: 136941
Poruke: 37
91.148.81.*

Sajt: www.direktnaprodaja.com


+1 Profil

icon Re: QueryString se neprenosi kako treba ..13.03.2009. u 17:29 - pre 183 meseci
evo ti cela design strana (promeni prvi red da odgovara za VB)

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" >

function submitform()
{
document.getElementById('delid').value = (js_idproizvoda[selektovani_artikal_RB]).toString();
document.form1.submit();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:HiddenField ID="delid" runat="server" />
</form>
<p>
<input id="btnObrisi" type="button" value="Obrisi" onclick="submitform();" /></p>
</body>
</html>

i Code strana:


public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(delid.Value);
}
}


Ovo provereno radi ukoliko ti je "(js_idproizvoda[selektovani_artikal_RB]).toString();" ispravno

Prefiks koji sam ti naveo u proslom postu ('ctl00_ContentPlaceHolder1_') se javlja ako postoji master strana.
 
Odgovor na temu

torb-d-man

Član broj: 156284
Poruke: 124



Profil

icon Re: QueryString se neprenosi kako treba ..16.03.2009. u 13:01 - pre 183 meseci
Dizajn:
Code:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="submitTryouts.aspx.vb" Inherits="submitTryouts" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>submit tryouts</title>
    <script type="text/javascript" >
    var niz = new Array (1,2,3,4,5,6);
    var redni_broj = 3;
function submitform() {
document.getElementById('hiddfieldid').value = (niz[redni_broj]).toString();
document.frmTryouts.submit();}
</script>
</head>
<body>
    <form id="frmTryouts" runat="server"><div>
    <asp:HiddenField ID="hiddfieldid" runat="server" />
    <p><input id="btnSubmit" type="button" value="submit" onclick="submitform();" /></p>    
    </div></form>    
</body>
</html>


i Code strana:
Code:

Imports System.Data
Imports System.Configuration.ConfigurationManager
Imports System.Web

Partial Class submitTryouts
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim vrednost As String = hiddfieldid.Value 'id_za_brisanje     delid
        If Not String.IsNullOrEmpty(vrednost) Then
            'Response.Write("hiddfieldid.Value: " + vrednost)
            MsgBox("hiddfieldid.Value: " + vrednost)
        End If
    End Sub
End Class


Naravno kad se napiše ovako uprošćeno radi, ali je moja stranica malko kompleksnija od ovoga.
Negde postoji razlog zašto ga nevidi (onaj 'delid.Value'). Ona vrednost '(js_idproizvoda[selektovani_artikal_RB]).toString()'
je 1oo% ok; provereno sa alertom a i koristim je u još fuja u JS na stranici i svugde odrađuje posao kako treba. Ostaje mi da iskopam
u čemu je problem.
 
Odgovor na temu

smark
Principal Manager, Software Development,
Microsoft
Prague

Član broj: 20964
Poruke: 437
*.interoute.com.

Sajt: cz.linkedin.com/in/msmark..


+11 Profil

icon Re: QueryString se neprenosi kako treba ..31.03.2009. u 15:58 - pre 183 meseci
Probaj :

Code:

document.getElementById('<%= hiddfieldid.ClientID %>')
 
Odgovor na temu

torb-d-man

Član broj: 156284
Poruke: 124



Profil

icon Re: QueryString se neprenosi kako treba ..01.04.2009. u 15:12 - pre 183 meseci
Uh već neko vreme sam digao ruke od ove teme jer sam u međuvremenu rešio svoj problem na drugi način ali evo da ne bude bez odgovora: probao sam i sa ovom iznad sintaksom ali i dalje se vrednost hidden polja ne vidi. Ipak hvala svima na pokmoći.
 
Odgovor na temu

[es] :: .NET :: ASP.NET :: QueryString se neprenosi kako treba ..

[ Pregleda: 2124 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

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