Forums Neueste Beiträge
 

Template Field

27/05/2009 - 16:11 von Henrik Hofmann | Report spam
Hallo,

ich bin etwas am verzweifeln. Ich habe in ein Gridview ein Template
field hinzugefügt. Dieses enthàlt eine Textbox deren Wert ich mit Eval
fülle. Dies wird bei ersten aufrauf auch gemacht. Über eine Dropdownlist
wird per Autopostback ein databind getriggert. Danach wird der Wert
jedoch nicht aktualisiert sonder der erste wert bleibt erhalten. Alle
anderen Felder der Gridview Zeile àndern sich. Wenn ich in das gleiche
Template Fiel ein Label Lege dessen Wert über Eval mit dem selben Feld
gefüllt wird aktualiesiert sich das Label.

Zum Testen habe ich bereits auch mal eine "normale" html input textbox
<input type="text" value'<%# EVal daneben gelegt. Das funktioniert auch.

Sobald ich jedoch der Textbox ein runat="server" verpasse bleibt immer
der inhalt des ersten databinds erhalten. Wenn ich mit im Row Databound
das DataItem ansehe sehe ich auch den entsprechenden wert.

Anbei kurz der entsprechende Code ausschnitt.


<asp:TemplateField>
<HeaderTemplate>
no. of shares
</HeaderTemplate>
<HeaderStyle
CssClass="labelCell" />
<ItemTemplate>
<asp:TextBox
runat="server" ID="txtShares" Text='<%# Eval("SHARES") %>' Visible='<%#
Eval("STOCKTYPE_ID").ToString()=="1" %>'></asp:TextBox>
<asp:ImageButton
ID="ImageButton2" runat="server" ValidationGroup="updateShares"

ImageUrl="~/images/btn_ok.gif" CommandName="updateShares" Visible='<%#
Eval("STOCKTYPE_ID").ToString()=="1" %>' />
<asp:CustomValidator
Enabled='<%# Eval("STOCKTYPE_ID").ToString()=="1" %>'
ValidateEmptyText="true"

ID="CustomValidator1" ValidationGroup="updateShares"
ControlToValidate="txtShares"

OnServerValidate="ValidateDecimal" runat="server" ErrorMessage="invalid
number of shares"

Display="Dynamic"></asp:CustomValidator>
</ItemTemplate>
</asp:TemplateField>

Gruß,


Henrik
 

Lesen sie die antworten

#1 Patrick Finger
27/05/2009 - 17:06 | Warnen spam
Versuchs mal mit EnableViewState=false auf dieser Textbox.

LG

Ähnliche fragen