Wimpie
wzl-lid
Sinds 24/9/2004
T: 39
R: 152
|
28/4/2006 -
13:57u
| Quote
|
Ik zou via een knop in een .aspx een nieuwe pagina willen openen. Maar hier zouden ook parameters moeten meegegeven worden. In een datagrid is een "row" geselecteerd... als ik nu op de knop "Details" klik dan zou ik in een NIEUW browser-window de pagina Details.aspx willen tonen. 1: hoe kan ik ten eerste een browser venster openen via asp (of vb.net) MET EEN KNOP, dus geen hyperlink. 2: hoe haal ik de waarde van kolom 1 uit mijn geselecteerde rij van een datagrid? 3: hoe geeft ik deze waarde dan ook nog eens mee in de link? (moet ik dan gewoon een string opbouwen? bv url = "Details.aspx?ID=" + myParameter
k Zou het tegen dinsdag moeten weten
|
m0rPh3uS
WZL-lid
Sinds 13/1/2003
T:1 -
R:38
|
2/5/2006 -
14:23u
| Quote
|
1. Als je een nieuw venster vanuit een knop wilt opendoen: de property OnClientClick invullen met daarin: window.open('details.aspx',null,'width=510,height=255,top=250,left=250','true'); 2-3. Ik werk tegenwoordig met VS 2005 en in .NET 2.0 is een datalist een gridview geworden. Ik zou het zo oplossen: Na de onrowdatabound event gewoon de onclientclick property van de knop op die gebonden rij instellen en de parameters instellen. Als je nu met 2.0 werkt, kan je gebruik maken van een template field en daar dan de gezochte waarden aan binden
clear?
|
Wimpie
wzl-lid
Sinds 24/9/2004
T:39 -
R:152
|
2/5/2006 -
15:46u
| Quote
|
1: dim url as string url = "Details.aspx" Response.Redirect( "url" ) da werkt dus neem ik aan da da goed genoeg is 
2-3: ik snap er niks van om eerlijk te zijn. Ben nog ma 2 weken bezig met ASP (k heb wel .NET 2.0 en VS 2005 zoals u)
Ik moet dus bij die String url (bij punt 1) nog parameters kunnen toevoegen. Ik weet wel hoe maar ik weet niet hoe ik de waarde uit mijn datagrid haal. K krijg dus een aantal rijen in mijn datagrid, ik kan een rij selecteren, en ik ken de selectedindex ma ik kan mijn verschillende kollommen niet uit mijn rij halen. Dus vooral puntje 2 van mijn origineel bericht wilt niet lukken.
Toch bedankt om te proberen. Weet je nog iets anders of kan je iets meer uitleg geven?
Laatst aangepast door
Wimpie
op 2/05/2006 15:47:07u
(1x aangepast)
|
m0rPh3uS
WZL-lid
Sinds 13/1/2003
T:1 -
R:38
|
3/5/2006 -
16:45u
| Quote
|
1. Die response.redirect werkt inderdaad, maar dan wordt er geen nieuwe browserwindow geopend: deze pagina wordt in dezelfde window geopend. Om deze in een nieuw venster te openen: zie hierboven.
2-3. Als je met .NET 2.0 werkt, betekent dit dat je de datagrid control best niet meer gebruikt: deze is deprecated (lees: stamt uit .NET 1.1 en is dus vervangen). Je kan dus veel beter gebruik maken van de gridview control die veel meer oplossingen biedt. In de gridview maak je dan een kolom met hyperlinkfields in en in de properties van deze kolom stel je de properties DataNavigateUrlFields en DataNavigateUrlFormatString in. Zo kan je dus inderdaad een string opbouwen die er als details.asp?ID=..... uitziet. Ik ga nu niet exact uit de doeken doen waar je overal moet klikken enz om dit in te stellen, maar zoek het maar eens op op google en je zult wel info vinden. Er zijn natuurlijk nog 101 andere manieren om dit op te lossen, maar dit is de snelste en properste (je moet er zelfs geen code voor schrijven, enkel eigenschappen instellen).
Hope it helps
|
Wimpie
wzl-lid
Sinds 24/9/2004
T:39 -
R:152
|
3/5/2006 -
21:34u
| Quote
|
Ik ga het morgen direct proberen, maar ik denk dat ik weet wat je bedoelt. Alvast bedankt.
|
Wimpie
wzl-lid
Sinds 24/9/2004
T:39 -
R:152
|
4/5/2006 -
11:09u
| Quote
|
Private Sub createColumns(ByVal myDataSet As DataSet) Dim dsColumn As DataColumn For Each dsColumn In myDataSet.Tables(0).Columns If (dsColumn.ColumnName = "ID" Then Dim hlColumn As New HyperLinkField()
' ??? hlColumn.DataNavigateUrlFormatString = "Details.aspx?AssetID={0}" ??? hlColumn.NavigateUrl = "Details.aspx?AssetID=" '?????? hlColumn.HeaderText = "" hlColumn.Text = "Details" hlColumn.Target = "_blank"
gvAssets.Columns.Add(hlColumn) Else Dim bndColumn As New BoundField() bndColumn.DataField = dsColumn.ColumnName bndColumn.HtmlEncode = False bndColumn.HeaderText = dsColumn.ColumnName gvAssets.Columns.Add(bndColumn) End If Next End Sub
Die vraagtekens snap ik dus nie. Kan je mij aub zeggen wat daar dan in moet? Ik krijg een error (value of type "String" can not be converted to '1-dimensional array of String') als ik zeg: DataNavigateUrlFields="ID". Volgens mijn bescheiden mening moet daar die url opgebouwd worden maar ik weet dus totaal niet hoe. K heb al vanalles geprobeerd maar google wil vandaag precies nie helpen 
En overal waar ik kijk daar staat DataNavigateUrlFields ipv DataNavigateUrlField. Waar ligt da aan????
EDIT: ik heb het gevonden !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (sorry ik ben blij) ge moest dus een array aanmaken met daar uw veld in zodat ge uw array kunt linken met die hyperlink. Niet echt logisch vind ik want ik had maar 1 waarde nodig, waarom ze dan in een array steken. maarja.
Laatst aangepast door
Wimpie
op 4/05/2006 11:39:40u
(2x aangepast)
|