DropDownList als EditItemTemplate im GridView das an eine ObjectDataSource gebunden ist

09/06/2008 - 17:17 von Merwed | Report spam
Hi!

Wir haben hier größere Probleme mit einem DropDownList Server Control.

In einem GridView werden Werte angezeigt, die aus einer ObjektDataSource
stammen.
Im Edit-Modus muss eines der Felder eine DropDownList anzeigen.

Das DropDownList Server Control wird aus einem Bind-Ausdruck im Markup der
Seite gespeist:

DataSource="<%# GetGesellschaften() %>

GetGesellschaften liefert eine ListItemCollection. Bei der Erzeugung der
ListItemCollection wird jedes ListItem mit einem Text und einem Value
versehen.

Das erste Problem besteht nun darin, dass im gerenderten HTML sowohl Text
als auch Value auf die Text-Eigenschaft des ListItem eingestellt sind. Der
Wert der Value-Eigenschaft geht irgendwie verloren.

Als Folgefehler kann das SelectedValue der DropDownList nicht auf den Wert
der Daten in der aktuellen Spalte des GridView eingestellt werden und die
Anwendung erzeugt eine gelb-rote Fehlermeldung.

Wir sind inzwischen einigermaßen verzweifelt und fragen uns natürlich, wie
die value-Eigenschaft des ListItems verloren gehen kann und was die
Alternativen sind. An eine SqlDataSource zu binden (dann mit DataSourceID,
DataFieldText und DataFieldValue) funktioniert zwar, würde aber unsere ganze
Schichtenaufteilung zunichte machen...

Vielleicht hat ja hier jemand eine Idee. Würde mich jedenfalls freuen :)

xpost diverse und f'up2 mpdged.asp
 

Lesen sie die antworten

#1 Gerold Mittelstädt
09/06/2008 - 18:08 | Warnen spam
Hallo,

Merwed schrieb:
Wir haben hier größere Probleme mit einem DropDownList Server Control.

In einem GridView werden Werte angezeigt, die aus einer ObjektDataSource
stammen.
Im Edit-Modus muss eines der Felder eine DropDownList anzeigen.

Das DropDownList Server Control wird aus einem Bind-Ausdruck im Markup der
Seite gespeist:

DataSource="<%# GetGesellschaften() %>

GetGesellschaften liefert eine ListItemCollection. Bei der Erzeugung der
ListItemCollection wird jedes ListItem mit einem Text und einem Value
versehen.

Das erste Problem besteht nun darin, dass im gerenderten HTML sowohl Text
als auch Value auf die Text-Eigenschaft des ListItem eingestellt sind. Der
Wert der Value-Eigenschaft geht irgendwie verloren.



Hast Du mal etwas vom relevanten Code?
Làsst sich der Fehler in einer Minimalanwendung reproduzieren?

Als Folgefehler kann das SelectedValue der DropDownList nicht auf den Wert
der Daten in der aktuellen Spalte des GridView eingestellt werden und die
Anwendung erzeugt eine gelb-rote Fehlermeldung.



und da steht was *genau*?

Wir sind inzwischen einigermaßen verzweifelt und fragen uns natürlich, wie
die value-Eigenschaft des ListItems verloren gehen kann und was die
Alternativen sind. An eine SqlDataSource zu binden (dann mit DataSourceID,
DataFieldText und DataFieldValue) funktioniert zwar, würde aber unsere ganze
Schichtenaufteilung zunichte machen...



Wenn es mit der SqlDataSource geht, müsste es auch mit jeder anderen
Datenquelle funktionieren. Denn letztlich sollte es egal sein, woher die
Daten kommen solange sie (auch nach einem PostBack) zur Verfügung stehen.

Viele Grüße!

Ähnliche fragen