Vielen Dank Euch allen! Die Konfusion kam daher, dass ich irgendwo gelesen
hatte, das Eval einen String zurueckgibt. Tut es aber nicht, zumindest nicht
wenn man es mit nur zwei Argumenten benutzt. Dann gibt's ein Objekt zurueck,
welches man casten muss. 

Laut Doku gibt Eval allerdings einen String zurueck, wenn man ein drittes
Argument (Format) benutzt:

<quote>
The ASP.NET supplies a static method, called DataBinder.Eval, that evaluates
late-bound data-binding expressions and optionally formats the result as a
string. This method eliminates much of the explicit casting you must do to
coerce values to the data type you want. </quote>

Folgendes funkioniert daher:

<%# DataBinder.Eval(Container.DataItem, "Text", "{0}").Substring(0,49) %>

Th.


-----Original Message-----
From: J�rg Krause [mailto:[EMAIL PROTECTED]] 
Sent: Thursday, July 25, 2002 3:06 AM
To: aspDEdotnet
Subject: [aspdedotnet] AW: DataBinder.Eval formattieren


Hallo,

> Hallo Liste:
>
> Ich habe folgende Zeile in einem Repeater:
>
>  <td> <%# DataBinder.Eval(Container.DataItem, "Text") %> </td>
>
> Nun moechte ich nur die ersten 50 Stellen jedes Eintrags darstellen. 
> Da Eval angeblich einen String zurueckgibt dachte ich mir, dass man 
> das wie folgt machen koennte:
>
>  <td> <%# (DataBinder.Eval(Container.DataItem, "Text").Substring(0,49) 
> %> </td>
>
> Gibt aber: Compiler Error Message: CS0117: 'object' does not contain a 
> definition for 'Substring'
>
[...]

Da fehlt ein Cast:

((string) DataBinder.Eval(Container.DataItem, "Text")).Substring(0,49)
^^^^^^^^

Container-Elemente sind immer "object". Man kann das �brigens auf alles
casten, z.B. auch auf eigene Typen (voller Pfad mit Namespace verwenden!),
was die Datenausgabe sehr flexibel werden l�sst.

J�rg
www.buenning-krause.de



| [aspdedotnet] als [EMAIL PROTECTED] subscribed 
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv Sie 
| k�nnen sich unter folgender URL an- und abmelden: 
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp

---

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.380 / Virus Database: 213 - Release Date: 7/24/2002
 

| [aspdedotnet] als [email protected] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp

Antwort per Email an