2010-12-27 11 views
4

Ich brauche ein paar Textfelder angezeigt werden, und haben die Möglichkeit, für den Benutzer „eine weitere Zeile hinzufügen“Anzeige leer Kontrollen in Repeater

Ich habe versucht, eine Datenliste und einen Repeater, aber es zeigt nichts an allen, wenn die Steuerelemente leer sind.

<asp:DataList id="dlIso" runat="server" RepeatColumns="2" RepeatDirection="vertical" > 
<ItemTemplate> 
test</ItemTemplate> 
</asp:DataList> 

so in diesem Fall „Test“ jetzt an alle zeigen nicht ..

was ist der beste Weg, dies erreicht zu erhalten?

Vielen Dank!

Antwort

1

Sie müssen sich die InsertItemTemplate ansehen.

Entschuldigung, das ist für die neue ListView. Ich denke, dass ich das letzte Mal diese habe ich die FooterTemplate verwendet:

http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/data/datalist.aspx

Ich weiß nicht, ob dies der richtige Weg ist es getan werden sollte, aber die Fußzeile bleibt unabhängig von der aktuellen Seite, so dass die Einsatz Kontrollen sind immer sichtbar. Es läuft gut. Sie können auch die Befehlshyperlinks simulieren (bearbeiten, aktualisieren, abbrechen, usw.), aber ich kann mich nicht erinnern, wie es funktioniert.

die viel lesen

http://www.4guysfromrolla.com/articles/061709-1.aspx

Die verlinkte Seite ist auch derjenige, der Einsätze diskutiert, aber ich würde raten, wie es aus dem Beginn des Einsatzes:

Ein guter Satz von Artikeln für die ListView finden Sie hier Anfang.

+0

das zeigt immer noch nichts .... muss ich es binden? Was ist, wenn alle anzeigen möchten, ist Text .... neue einfügen ...

+0

Glauben Sie Möglicherweise benötigt es eine gebundene Liste (auch wenn sie leer ist), um ordnungsgemäß zu funktionieren. Off-Hand bin ich mir nicht sicher, es ist eine Weile her, seit ich das letzte Mal benutzt habe. –

2

Um die Funktion "Add Another Row" für einen Repeater oder eine DataList bereitzustellen, müssen Sie der Datenquelle, an die Sie das Steuerelement binden, ein weiteres Element hinzufügen und .DataBind() aufrufen.

Wenn Sie Daten an etwas binden, das anfangs keine Datensätze enthält, sollten Sie ein Steuerelement mit einer EmptyDataTemplate (GridView, ListView oder DetailsView) verwenden. Für das, was Sie tun, würde ich wahrscheinlich das ListView empfehlen.

+0

Ich kann immer noch nichts anzeigen, wenn der Datensatz leer ist. für die anfängliche Dateneingabe ... –

+0

Oh, der Datensatz ist anfangs leer? Das habe ich vermisst. Ich werde meine Antwort aktualisieren. – Marcie

0

Problem ist, dass, bis Sie nicht Ihre Repeater zu einem gewissen datasource binden wird es nicht irgend etwas aus dem itemtemplate auftauchen ... so müssen Sie einige datasource gegen die Textfelder erstellen und für jede neue Zeile ein Element hinzu zu diesem datasource und den Repeater neu binden. die Nummer des Artikels in Ihrem datasource ist die Anzahl der Zeilen, die Sie auf der Vorderseite angezeigt werden