title image


Smiley Re: If Abfrage und Datenbank
Ja, "Container" ist nur dann definert, wenn er innerhalb des ItemTemplates in einem Datenbindungsausdruck "" vorkommt.

Z.B.







Dieses Beispiel wird Dir keine brauchbare Ausgabe bescheren, sondern dient nur zur Illustration.

Diese Datenbindungen werden bei der Ausführung der Seite, wenn Page.DataBind (oder generell Control.DataBind) aufgerufen wurde, abgearbeitet.

Dabei werden dann verschiedene Instanzen der "RepeaterItem"-Klasse anhand der von Dir angegebenen , etc. erzeugt. "Container" ist dann jedesmal eine Instanz von RepeaterItem. Dieses hat eine Eigenschaft "DataItem". In Abhängigkeit der Datenquelle, an die der Repeater gebunden ist, ist das dann immer etwas verschiedenes. Bindet man den Repeater an ein DataSet, eine DataTable oder (wie Du) an ein DataView ist das aber immer ein DataRowView-Objekt.



Ferner hat das DataSet keine Eigenschaft namens "DefaultView". Eigentlich müsstest Du dazu schon wegen

'>

eine Fehlermeldung bekommen (es sei denn, hinter der Variable namens "DataSet1" verbirgt sich in Wirklichkeit eine DataTable)



Für eine einfache Ausgabe (ohne If-Else oder Select-Case-Abfrage) sähe das dann ungefähr so aus:

'>









Somit werden Dir aus allen Tabellenzeilen die Werte der Spalte "Art" ausgegeben.



Wenn Du eine Abfrage, wie Du sie beschreibst machen willst, empfehle ich folgendes zu tun.



Schreibe in der CodeBehind-Datei (oder wenn Du nicht mit CodeBehind-Dateien arbeitest in einen ) eine separate Funktion, der Du Container.DataItem übergibst.

Bsp:



Protected Function Abfrage(item as DataRowView) as String

Dim xyz as string= item("Art").ToString()

If xyz = "123" then

Return "123 gefunden"

Else

Return "Statt 123 folgendes gefunden: " & xyz

End If

End Function





und im HTML-Code









Ciao

L.Y.

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: