jak w asp pobrac parametr get

0

Hej, powiedzmy ze jestem na stronie:
mojestrona.pl/tutaj.aspx?id=5

i teraz chciał bym isc do strony
mojestrona.pl/tam.aspx?id=5

to jak wygląda link

<a href="tam.aspx?id=[i co tutaj ma byc]">wejscie</a>
0

Request["id"] pobiera wartosc parametru id niezaleznie czy przyszedl przez get czy post
Request.QueryString["id"] z get
Request.Form["id"] z post

pobrac i dokleic we wlasciwe miejsce (to wiesz jak zrobic?)

0

No właśnie chodziło mi o tą drugą częśc,
gdzies znalazłem że Request.QueryString["id"] daje taka wartosc
ale to było w kodzie cs a mi chodzi o wstawienie bezpośrednio w aspx

0

jest kilka mozliwosci:

1) anchor robisz runat=server i nadajesz id - dzieki temu w code behind mozesz odwolac sie do tego anchor jak do kontrolki, czyli
a)
xhtml: ...
c#: mojeA.HRef = "inna_strona.aspx?id="+Rquest["id"]

lub
b)
xhtml: ...
c#: mojeA.HRef = string.Format(mojeA.HRef, Request["id"]);

2) w kodzie xhtml mozesz wstawic kod .net <% ... %>
w twoim przypadku <a href="inna_strona.aspx?id=<%=Request["id"]%>">....</a>

3) zamiast anchor w xhtml miec kontrolke literal (nie label, bo ona produkuje niepotrzebnie xhtml'owy tag span) i w code behind do literal do walsciwosci Text ladowac caly anchor
literal1.Text = "<a href=\"inna_strona.aspx?id=" + Request["id"] + "\">...</a>";

pewnie jeszcze kilka wariantow mozna wymyslic :)

moja propozycja to 1b - nie mieszasz kodu ze zrodlem strony oraz mozesz bez pozniejszego przekompilowywania zmienic link, np dodac kolejny parametr staly (href="inna_srona.aspx?id={0}&x=1")

0

OK dzięki za obszerna odpowiedź

0

A jak się dostac do dwóch src w poniższym kodzie:


<object id="MediaPlayer" width="420" height="236" classid="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" standby="Loading Windows Media Player components..." type="application/x-oleobject" codebase="http://activex.microsoft.com/[...]nf.cab#Version=6,4,7,1112"&gt;

<param name="filename" value="Video/{0}"><param name="Showcontrols" value="True">

<param name="autoStart" value="False">

<embed type="application/x-mplayer2" src="Video/{0}" name="MediaPlayer" width="420" height="236"></embed>
</object>

0

uczywiscie mam na mysli z poziomu kodu cs

0

kazdy z tych tagow mozesz oznaczyc jako runat="server" tylko musisz kazdemu nadac unikalne id i pewnie param powinien byc wtedy domkniety <param ... />

w code behind bedziesz mogl odwolac sie do tych obiektow przez id, pewnie .net nie biedzie umial ich na konkretne kontrolki przetworzyc, zdaje sie ze beda winialy jako typ HtmlGenericControl (chyba jakos tak, juz troche nie uzywalem asp .net), ale taka kontrolka tez ma kolekcje Attributes dzieki ktorej bedziesz mogl manipulowac atrybutem src

html:

<object id="MediaPlayer" width="420" height="236" classid="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" standby="Loading Windows Media Player components..." type="application/x-oleobject" codebase="http://activex.microsoft.com/[...]nf.cab#Version=6,4,7,1112"&gt;

<param runat="server" id="filename1" name="filename" value="Video/{0}" /><param name="Showcontrols" value="True">

<param name="autoStart" value="False">

<embed runat="server" id="MediaPlayer1" type="application/x-mplayer2" src="Video/{0}" name="MediaPlayer" width="420" height="236"></embed>
</object>

code behind:
MediaPlayer1.Attributes["src"] = string.Format(MediaPlayer1.Attributes["src"], "plik1.wmv");

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0