Hallo zusammen,
heute wurde uns bei der MSDN Hotline
unter anderem folgende Frage gestellt:
Ich möchte eine URL über die deklarative Syntax dynamisch erzeugen, beispielsweise mit NavigateUrl='<%# "~/Site.aspx?pid=" + Eval("Id") + "&foo=true&bar=" %>', habe aber Probleme die Funktion DoSomething(Id) über die Eval-Notation
aufzurufen. Was kann ich tun?
Unsere Antwort bzw. unser Lösungsvorschlag darauf war:
Es ist möglich, innerhalb von <%# %> beliebige Methoden aufzurufen (vgl. Brinkster) und die Parameter-Werte über Eval() zu bestimmen. Denkbar wäre ein Aufruf wie <%#
DoSomething( Eval("Id") ) %> oder einfach <%# DoSomething(Id) %>.
Auf der Seite West-wind wird diskutiert, wie evaluierte Strings zusammengefügt werden. Ebenso wird auf
15seconds gezeigt, wie man dynamisch mit der deklarativen Syntax URLs erzeugt.
Wichtig ist in jedem Fall, dass auf der betreffenden Seite vorher Page.DataBind(); aufgerufen wird, sonst lassen sich Methoden aus dem Codebehind nicht evaluieren (vgl. forums.asp.net).
Wir hoffen, vielen Besuchern der MSDN Foren
durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.
Viele Grüße,
Jonathan Best
MSDN Hotline für MSDN Online Deutschland
Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline:
http://www.msdn-online.de/Hotline
Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu
Markenzeichen
Informationen zur Datensicherheit sowie die gesonderten
Nutzungsbedingungen für die MSDN Hotline.