webForumDet fria alternativet

Istället för request.querystring?

8 svar · 297 visningar · startad av CokeLight

CokeLightMedlem sedan juni 2000504 inlägg
#1

Hejsan allihopa :)

Nu har jag letat lite här o där men jag hittar inget exempel som passa min situation..

I gamla ASP skulle jag ha gjort så här:

Jag har exempelvis fem hyperlänkar. Varje hyperlänk skickar med en unik variabel, t.ex

djur.asp?param=hästar
djur.asp?param=grisar

osv. o sen har jag en request.querystring/form som fångar upp de och sedan visar jag upp olika innehåll på sidan beroende på variablerna.

Hur åstadkommer man liknande resultat med ASP.NET? Jag har inte sett ett enda exempel med request.querystring (med nåt enstaka undantag) så jag antar att det finns andra sätt?

Nån som kan ge en hint...? :)

CokeLightMedlem sedan juni 2000504 inlägg
#2

Halloj..

vaknade imorse o funderade lite.. provade följande:

Använde först en ImageButton (ist. för Hyperlink) o lät den köra mot denna sub

sub MakePage(Sender As Object, E As ImageClickEventArgs)

	IF sender.id="cmdMenuHome" THEN
		lblMessage.text="You clicked Home"
	ELSEIF sender.id="cmdMenuAbout" THEN
		lblMessage.text="You clicked About"
	END IF	
end sub

resultatet blev det jag ville ha (sen tänkte jag bygga hela sidan baserat på detta, förutsatt att principen fungerar.. ) Finns det andra sätt man kan göra detta på.. hur gör ni.. ?

Nåja, jag är nöjd än så länge, men lär mig gärna andra sätt :)

juventus1Medlem sedan dec. 2000399 inlägg
#3

Du kan fortfarande använda Request.QueryString["namn på ditt värde"] och Request.Forms["formulär"].

NETworkMedlem sedan juni 20011 732 inlägg
#4

Japp... eller Request.Cookie om du vill ha ännu ett alternativ. Fast det kanske inte passar så bra i just ditt fall förstås.

Mika3lMedlem sedan nov. 20018 492 inlägg
#5

Du kan köra så här:

<% @ Page Language="VB" %>

<script runat="server">
Sub Page_Load(Obj As Object, E As Eventargs)
If Request.QueryString("param") = "hästar" Then 'Fast du bör använda ett a istället för ä :stud
Response.Write("Hästar!")
ElseIf Request.QueryString("param") = "grisar" Then
Response.Write("Grisar!")
Else
Response.Write("QueryStringen du skickade med hade inte värdena hästar eller grisar.")
End If
End Sub
</script>
<html>
<head>
[blue]OSV[/blue]

/Mika3l

Wee! Mitt 300;ade inlägg! :) :bire

CokeLightMedlem sedan juni 2000504 inlägg
#6

aha.. okay.. tackar för svaren.. :) Då är det fortfarande gamla request.querystring som gäller.. (eller cookies). Tänkte om de hade slopat det, men så var alltså inte fallet.. :)

NETworkMedlem sedan juni 20011 732 inlägg
#7

Nejnej, det har inte slopats... querystrings är väldigt användbart! Ännu ett alternativ är ju att du lägger variabeln i en session.

CokeLightMedlem sedan juni 2000504 inlägg
#8

Orsaken till att jag fick för mig det, eller trodde att det fanns alternativa sätt, var pga att med ASP.NET verkar ju servern hämta parametrar "automatiskt".. t.ex. när man gör

<asp:ImageButton onclick="minsub" runat="server"/> osv så kan ju sidan ändå hämta params via hidden fältet som skapas..

I alla fall.. kanon att forumet finns så man kan fråga :)

NETworkMedlem sedan juni 20011 732 inlägg
#9

Jo, men detta gäller bara så länge du postar tillbaka till samma sida. Om du däremot går från en sida till en annan så måste du skicka med eventuella variabler exempelvis genom querystrings eller en session.

267 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
128 ms — hämta statistik (db)
136 ms — hämta tråd, inlägg och bilagor (db)