Toon posts:

[ASP.NET] Extra variabelen meegeven in URL *

Pagina: 1
Acties:

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
<asp:HyperLinkColumn DataNavigateUrlField="aanvraag_id" 

DataNavigateUrlFormatString="javascript:var win = 

window.open('producten.aspx?aanvraag_id={0}',null,'width=500,height=300,top=300,left =300');" 

DataTextField="leveranciernaam" SortExpression="leveranciernaam" 

HeaderText="Leverancier" DataTextFormatString="{0}"></asp:HyperLinkColumn>


Middels DataTextField zorg ik ervoor dat de url :
producten.aspx?aanvraag_id={0} wordt. ik wil er echter nog een variabele aanvast plakken: producten.aspx?aanvraag_id={0}&prod_id=.....
Hoe krijg ik het voor elkaar dat de 2e variable wordt meegegeven?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Eenvoudigste oplossing is om een eigen HyperlinkColumn te maken.

Oftewel: kan niet met standaard HyperlinkColumn.

[ Voor 29% gewijzigd door gorgi_19 op 29-08-2003 15:59 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19 schreef op 29 August 2003 @ 15:58:
Eenvoudigste oplossing is om een eigen HyperlinkColumn te maken.

Oftewel: kan niet met standaard HyperlinkColumn.
mmmmm das duidelijk.

ik kreeg het volgende advies, maar het zegt me eerlijk gezegd niet veel:

Zoals jij het wilt kan niet. Wat je wel kunt doen is eerst een HyperLinkColumn toevoegen en instellen, en dan vervolgens Convert to TemplateColumn doen. Daarna ga je naar de HTML weergave en verander je de experssie bij NavigateUrl. Wat je daarbij het beste kunt doen is binden aan een functie die de URL genereerd. DataBinding is namelijk late-bound (object resolutie tijdens run-time, en dus langzaam), maar binnen een functie is alles early-bound( resolutie tijdens compile-time), waardoor je de overhead beperkt blijft.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

mwoah...

aparte functie schrijven kan idd ook, hoewel ik daar geen voorstander van ben. Templatecolumn kan je ook maken, variant op wat ik zei.

Alleen OnItemBound gebruiken levert niet zo veel overhead op.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

kijk ik weet niet hoe jij je datagrid(toch?) vult maar ik ga uit van een dataset.
Wat ik dan doe is dit:
code:
1
2
3
4
5
6
7
8
9
public void Page_Load(object sender, EventArgs e) [
   dataset ds = dequerydieuitdedatabasekwam();
   ds.Tables[0].Columns.Add(new DataColumn("url", typeof(string)));
   
   foreach(DataRow dr in ds.Tables[0].Rows) {
  dr["url"] = "producten.aspx?aanvraag_id="+dr["a_id"]+"&prod_id="+dr["p_id"];
  }
  //doe nu met je dataset wat je wil maar wijs hem toe aan de datagrid iig.
}

Daarna kan je gewoon "url" gebruiken zoals gorgi_19 al beschreef.
Zou graag deze methoden gecheckd willen hebben want ik kom em weinig tegen maar vind hem ozo flex voor allerhande ds modificaties.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Ik vind hem eigenlijk vrij ranzig en inflexibel. Je wordt zo gedwongen om datasets te gebruiken.

Verder is de reusuability vrij laag; stel dat het op meerdere plaatsen voorkomt?

Daarnaast kan je dit eenvoudiger oplossen, zeker als je van usercontrols gebruik maakt, van templatecolumns en heb je die problemen ook niet.

Gebruik je geen usercontrols, of maak je datagrids in je code-behind aan, wordt het iets lastiger, maar een class maken en ITemplate implementeren levert dan ook mooie oplossingen op.

[ Voor 84% gewijzigd door gorgi_19 op 29-08-2003 20:25 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

HEb je misschien daar iets van een code voorbeeldje van? tutorialtje is ook goed. Want ik ben loeiend }:O benieuwd.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 29 August 2003 @ 20:31:
HEb je misschien daar iets van een code voorbeeldje van? tutorialtje is ook goed. Want ik ben loeiend }:O benieuwd.
[rml]whoami in "[ ASP.NET] Webdev tips"[/rml]

Zie deze post van whoami en mijn post gelijk daaronder.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

alkaholic63: je hebt ondertussen zo'n 30 topics in P&W geopend, en iedere keer hebben we een prefix voor je topictitel moeten zetten (zie o.a. [rml]curry684 in "[ C#+Excel] string wordt ongewenst number"[/rml] en het sterretje achter [rml][ C#] DataView klopt niet meer na sorteren *[/rml]). Ben je nu echt zo hardleers of wil je het niet leren? Zoals je in P&W FAQ - De "quickstart" kunt nalezen, waar je ook vaak genoeg op gewezen bent, is het echt onderdeel van de policy :/

Je bent reeds in het bezit van een aantal persoonlijk geadresseerde emails... don't push your luck.

[ Voor 9% gewijzigd door curry684 op 29-08-2003 21:59 ]

Professionele website nodig?


Verwijderd

Topicstarter
Verwijderd schreef op 29 augustus 2003 @ 20:19:
kijk ik weet niet hoe jij je datagrid(toch?) vult maar ik ga uit van een dataset.
Wat ik dan doe is dit:
code:
1
2
3
4
5
6
7
8
9
public void Page_Load(object sender, EventArgs e) [
   dataset ds = dequerydieuitdedatabasekwam();
   ds.Tables[0].Columns.Add(new DataColumn("url", typeof(string)));
   
   foreach(DataRow dr in ds.Tables[0].Rows) {
  dr["url"] = "producten.aspx?aanvraag_id="+dr["a_id"]+"&prod_id="+dr["p_id"];
  }
  //doe nu met je dataset wat je wil maar wijs hem toe aan de datagrid iig.
}

Daarna kan je gewoon "url" gebruiken zoals gorgi_19 al beschreef.
Zou graag deze methoden gecheckd willen hebben want ik kom em weinig tegen maar vind hem ozo flex voor allerhande ds modificaties.
Misschien niet zo'n nette oplossing, maar in dit geval is het voor mij een goede oplossing. en heb m daarom ook gebruikt.
Bedankt voor de tip.

Ps. Curry, sorry. Ik zal er me er aan houden sorry.
Pagina: 1