14. januar 2008 - 14:43Der er
45 kommentarer og 1 løsning
Hvilken knap blev trykket på, på sidste side
Hej
Jeg har en side med nogle forskellige kategorier som bliver hentet fra en database ind i en tabel. kategorierne bliver så lavet til link, der alle sammen linker til samme side, som så skal loade nogle forskellige ting fra databasen, alt efter hvilken knap der bliver trykket på. Begge sider er skrevet i asp.net, og databasen er access. Så mit spørgsmål er, hvordan kan jeg få den nye side til at vide hvilken knap man har trykket på? håber der er et klogt hoved der ved det :)
Tak for svaret. men hvordan skal jeg sætte det ind i koden jeg allerede har? Her er koden jeg bruger til at oprette forbindelsen til databasen og få det skrevet ud i en tabel med 3 kolonner og bliver selv fyldt op efter hvad der står i databasen. den nye side skal så kunne hente forskellige ting fra databasen alt efter hivlken kategori der bliver klikket på ved hjælp af ID nr.
Sub Page_Load() Dim i = 0 Dim strConnection as String Dim strSQL as String Dim objConnection as OledbConnection Dim objCommand as OledbCommand strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Inetpub\wwwroot\db\database.mdb" objConnection = New OledbConnection(strConnection) objConnection.Open strSQL = "SELECT * FROM kategorier" objCommand = New OleDbCommand(strSQL, objConnection) Dim myReader As OleDbDataReader = objCommand.ExecuteReader() response.Write("<table border=""0"" align=""center"" class=""body"">")
indtil videre har jeg ikke skrevet så meget på den nye side. jeg ville først få den til at skrive kanppens navn ud ved hjælp af response.write, men det kan jeg ikke få den til.. kan du hurtigt stykke koden sammen så det kan hentes? Skal der skrives noget på siden den skal hentes fra?
den skal udskrives på den nye side så jeg kan bruge navnet på den til at hente data fra databasen alt efter kategori fra databasen. knapperne på hovedsiden linker alle sammen til samme side, men skal hente forskellige data, men det er først senere det kommer
<script runat="server"> Sub Page_Load() Dim buttonId As String = Request.QueryString("buttonId") Response.Write("ID på den trykkede knap: " & buttonId)
Hvis du kigger på koden i 14/01-2008 18:08:46 så bliver værdien af id'et smækket bag i url'et og med nøglen buttonId. Derfor skal den også hentes under navnet buttonId fra QueryString.
Sub Page_Load() Dim i = 0 Dim strConnection as String Dim strSQL as String Dim objConnection as OledbConnection Dim objCommand as OledbCommand strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Inetpub\wwwroot\db\database.mdb" objConnection = New OledbConnection(strConnection) objConnection.Open strSQL = "SELECT * FROM kategorier" objCommand = New OleDbCommand(strSQL, objConnection) Dim myReader As OleDbDataReader = objCommand.ExecuteReader() response.Write("<table border=""0"" align=""center" class=""body"">")
det er fordi det er en opgave jeg skal lave i forbindelse med min uddannelse, og der skulle vi helst lave det i asp.net, men det kan også være i asp hvis det er lettere at gøre det der. så kan jeg vel godt kalde knappens id for "+ myReader.GetString(1).toString() +", ligesom value?
jo, den side jeg har pastet koden ind fra, er en side der bliver loadet i en iframe. men kan du hjælpe med at skrive den i rigtig asp.net så den kan det samme som det den kan nu?
Nej jeg bruger sel Open Office. Og selv hvis jeg havde Office var det nu ikke sikkert at Access er med i pakken - Office sælges i forskellige varianter.
<script runat='server'> Sub Page_Load() If Not IsPostBack Then Me.myRepeater.DataSource = GetData() Me.myRepeater.DataBind() End If End Sub
Function GetData() As DataSet Dim connStr As String = "Data Source=dataexpe-dfocde;Initial Catalog=Eksperten;Integrated Security=SSPI;" Dim sql = "SELECT id, ditFelt1 FROM e814593"
Dim adapter As SqlDataAdapter = New SqlDataAdapter(sql, connStr)
<script runat="server"> Sub Page_Load() Dim itemId As String = Request.QueryString("itemId") Response.Write("ID på den trykkede knap: " & itemId) End Sub </script>
Jeg har brugt SQL Server i stedet for Access - du skal selvfølgelig rette koden til at bruge OleDb i stedet for SqlClient.
Derudover har jeg forsøgt at efterligne din egen kode så meget som muligt. Selv om koden er kommet et godt stykke så er den dog ikke helt "rigtig" ASP.Net i den viste form.
læste først din sidste kommentar efter jeg skrev før.. tror jeg venter til i morgen med at se om det virker så, hvis det kører sql, for det skal helst køre access, da hele databasen allerede er skrevet i der..
Men indtil videre tusind tak for hjælpen :) og så skal du selvfølgelig nok få en masse point i morgen når det forhåbentligt virker
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.