GimboMedlem sedan dec. 20001 630 inlägg
Hur fungerar det med querystrings i .NET, säg att jag har hämtat ut innehållet från databasen i en datalist kontroll.
Det jag vill göra är att föra över information till en annan sida via querystring, så att länken ser ut på följande vis: test.aspx?cat=1
och att jag på nästa sidan kollar det där värdet 1 mot databasen? uhhh hoppas du förstår vad jag menar, det jag vill är alltså att ha en meny som ser ut på följande vis (i html ska det se ut så här):
<a href="test.aspx?cat=1>meny1</a>
<a href="test.aspx?cat=2>meny2</a>
<a href="test.aspx?cat=3>meny3</a>
<a href="test.aspx?cat=4>meny4</a>
och sedan i sidan test.aspx så skall jag hämta det värdet som finns i cat för att kolla det mot databasen, detta är väldigt lätt gjort i asp men hur fungerar det i .NET?
just nu ser min kod ut så här:
<asp:DataList ID="DataList1" runat="server" DataSourceID="AccessDataSource1">
<ItemTemplate>
<asp:LinkButton ID="KategorierLabel" runat="server" Text='<%# Eval("Kategorier") %>'></asp:LinkButton>
<asp:Label ID="AntalLabel" runat="server" Text='<%# Eval("Antal") %>'></asp:Label><br /><br />
</ItemTemplate>
</asp:DataList>
Är riktigt tacksam för svar
GimboMedlem sedan dec. 20001 630 inlägg
ingen? borde väl vara rätt så basic eller?
mozillaMedlem sedan juli 20011 202 inlägg
Hmm, förstår inte riktigt vad du menar? :)
Men för att läsa av en querystring använder du Request.QueryString["cat"]; och sedan får du stoppa in det i din SQL fråga för att begränsa sökningen till endast de fälten som har cat = Request.QueryString["cat"]
TravoniMedlem sedan okt. 20041 538 inlägg
Det borde du kunna göra med din AccessDataSource i page_load
Sub Page_Load()
AccessDataSource1.selectcommand = "SELECT blabla FROM blabla WHERE id=" & Request.QueryString("cat")
DataList1.databind()
End sub
Men en parameter är kanske ännu bättre.
echoSweMedlem sedan nov. 20041 467 inlägg
Travoni skrev:
Det borde du kunna göra med din AccessDataSource i page_load
Sub Page_Load()
AccessDataSource1.selectcommand = "SELECT blabla FROM blabla WHERE id=" & Request.QueryString("cat")
DataList1.databind()
End sub
Men en parameter är kanske ännu bättre.
Den som skriver sådan kod, speciellt utan parametrar, borde halstras över öppen eld ;)
GimboMedlem sedan dec. 20001 630 inlägg
men hur får jag en länk att se ut på följande vis:
test.aspx?cat=1 där 1an är ett värde som hämtas från databasen??
och därefter på sidan test.aspx så skall jag kolla 1an mot databasen?
OveRRidEMedlem sedan feb. 20018 509 inlägg
echoSwe skrev:
Den som skriver sådan kod, speciellt utan parametrar, borde halstras över öppen eld ;)
Äh, vardagsmat i ASP-forumet. ;)
Det är synd att det fortfarande förekommer.
TravoniMedlem sedan okt. 20041 538 inlägg
Tala förihelvitte om då hur man skall göra istället för att njuta av eran jäla besservissermentalitet. Åhhh ha,ha, jag vet något de inte kan pilutta dej. Det är fanimej värre än på Saltkråkan.
Speciellt ifrån en av er så kommer dessa pikar lite då och då, skäms!
Det går prestige i detta.
Det är som att man skall kunna allt innan man har lärt sig det, det är ett gammalt förhållningssätt som är dags att utrota.
Och du Överriddaren (lyssna bara på ditt alias), "synd" det är något helt annat.
APA vad sne jag blir. :x
Jag vill skrika högt, gråta och äta mina kalsonger.
AuxeMedlem sedan apr. 2006128 inlägg
OveRRidE skrev:
Äh, vardagsmat i ASP-forumet. ;)
Det är synd att det fortfarande förekommer.
känner du dig duktig nu? ... och du är moderator??
DU om någon borde väl föregå med gott exempel och hjälpa denna person istället för att hålla på och håna som ni gör!
ILLA!
OveRRidEMedlem sedan feb. 20018 509 inlägg
Ursäkta? Jag anmärkte inte på lösningen Travoni kom med i sig, utan snarare att han använder oparameteriserad sql, vars inskjutna värden kan modifieras av klienten och således också skapar en av ASP-communityts värsta säkerhetsluckor genom tiderna; SQL-injections.
Jag sa även att det förekommer i ASP-forumet väldigt ofta, och följde upp med att jag tycker att det är sorgligt att det förekommer fortfarande, speciellt i ASP.NET.
Har ni inte klart för er vilka effekter SQL-injections kan ha, eller hur det fungerar, gör en sökning i t.ex. ASP-forumet eller på Google, så kan ni lära er mer. Att fösa in data från querystring rakt in i ett selectstatement och sen köra databind på det, tyder på brist i kunskap. Och det får jag anmärka på hur mycket jag vill utan att ni ska behöva gå bananas för den sakens skull. Eller? :q
Fyfan för alla jävla gamar i det här forumet som bara väntar på att attackera en på grund av petitesser! Kanske är det dags att sluta försöka hjälpa folk.. :l
AuxeMedlem sedan apr. 2006128 inlägg
OveRRidE skrev:
Ursäkta? Jag anmärkte inte på lösningen Travoni kom med i sig, utan snarare att han använder oparameteriserad sql, vars inskjutna värden kan modifieras av klienten och således också skapar en av ASP-communityts värsta säkerhetsluckor genom tiderna; SQL-injections.
Jag sa även att det förekommer i ASP-forumet väldigt ofta, och följde upp med att jag tycker att det är sorgligt att det förekommer fortfarande, speciellt i ASP.NET.
Har ni inte klart för er vilka effekter SQL-injections kan ha, eller hur det fungerar, gör en sökning i t.ex. ASP-forumet eller på Google, så kan ni lära er mer. Att fösa in data från querystring rakt in i ett selectstatement och sen köra databind på det, tyder på brist i kunskap. Och det får jag anmärka på hur mycket jag vill utan att ni ska behöva gå bananas för den sakens skull. Eller? :q
Fyfan för alla jävla gamar i det här forumet som bara väntar på att attackera en på grund av petitesser! Kanske är det dags att sluta försöka hjälpa folk.. :l
gamar? om du hade hjälpt någon så hade jag inte anmärkt! Om du hade förklarat varför han bör skriva annorlunda kod etc.. hade jag inte anmärkt!
men nu gjorde du inget uttav detta! DU FÖRKLARAR JUH ALLTING I DETTA INLÄGG!!!!!!!
men snälla du? "alla jävla gamar" ? som moderator?
emissionMedlem sedan dec. 19996 095 inlägg
OveRRidEMedlem sedan feb. 20018 509 inlägg
Auxe skrev:
gamar? om du hade hjälpt någon så hade jag inte anmärkt! Om du hade förklarat varför han bör skriva annorlunda kod etc.. hade jag inte anmärkt!
Hallå, jorden anropar? Vad är ditt eget bidrag till tråden egentligen? Kritik mot mig. Det hade du kunnat skicka ett PM om istället.
men nu gjorde du inget uttav detta! DU FÖRKLARAR JUH ALLTING I DETTA INLÄGG!!!!!!!
Ja, och hade du varit intresserad av en förklaring hade du antagligen lugnt och stillsamt frågat, eller hur?
Så, om du vill veta hur SQL-injections fungerar, sök på Google eller i ASP-forumet och om du vill kasta skit på mig, gör det via PM istället. Tack!
AuxeMedlem sedan apr. 2006128 inlägg
OveRRidE skrev:
Hallå, jorden anropar? Vad är ditt eget bidrag till tråden egentligen? Kritik mot mig. Det hade du kunnat skicka ett PM om istället.
Ja, och hade du varit intresserad av en förklaring hade du antagligen lugnt och stillsamt frågat, eller hur?
Så, om du vill veta hur SQL-injections fungerar, sök på Google eller i ASP-forumet och om du vill kasta skit på mig, gör det via PM istället. Tack!
suck..
Travoni verkade uppfatta DITT bidrag till tråden ungefär som jag!
MEN visst om du vill något mer ta det via PM!
GimboMedlem sedan dec. 20001 630 inlägg
ok? e ni klara skulle man kunna få hjälp nu? säkert många fler newbies som har samma problem som mig
TrinodiaMedlem sedan nov. 20064 inlägg
Jag hade nog valt att göra det helt i code behind istället...
Typ nått sånt här, säkert en omväg men det är säkrare...
Public Sub pageLoad(ByVal obj As Object, ByVal e As EventArgs) Handles Me.Load
Dim objConn As New SqlConnection(ConfigurationManager.ConnectionStrings("myConnString").ToString)
Dim objCmd As New SqlCommand("SELECT blabla FROM blabla WHERE id = @kat", objConn)
Dim objParam As New SqlParameter
objParam = objCmd.Parameters.Add("@kat", SqlDbType.Int)
objParam.Direction = ParameterDirection.Input
objParam.Value = CInt(Request.QueryString("kat"))
objConn.Open()
Dim dt As DataTable
Dim objAdapter as new SqlDataAdapter(objCmd)
objAdapter.Fill(dt)
objConn.Close
if dt.rows.count > 0 then
datalist1.datasource = dt
datalist1.databind()
else
response.write("Ingen data funnen för datalist1...")
end if
End Sub
Har inte testkört koden så inte säker på att allt är helt rätt men det borde stämma nästan...
//Trinodia
TravoniMedlem sedan okt. 20041 538 inlägg