DataList - Probleme mit UpdateCommand und CancelCommand

28/05/2009 - 12:22 von Markus | Report spam
Hallo zusammen,

derzeit habe ich ein Problem mit dem UpdateCommand und CancelCommand eines
DataLists:

Wenn der DataList im EditMode ist und ich anschließend auf Update oder
Cancel klicke, werden nicht die hinterlegten Event-Prozeduren aufgerufen.
Stattdessen erscheinen die Meldungen der ValidationControls. Und dies obwohl
in den beiden LinkbuttonButtons causesvalidaten="false" steht. Im Code rufe
ich zwar die Validierung auf, dass jedoch in den hinterlegten Prozeduren,
wohin ich in der Ausführung (Debugger) nicht gelange. Klicke ich dann
anschließend ein weiteres Mal auf den gleichen Button, wird die
Eventgesteuerte Prozedur allerdings aufgerufen.

Hier der ASP-Part:

<asp:DataList runat="server" id="dlProfil"
DataKeyField="BewerberID"
OnUpdateCommand="Update_Command_Profil"
OnEditCommand="Edit_Command_Profil"
OnCancelCommand="Cancel_Command_Profil"
OnItemCreated="dlProfil_ItemCreated">

<ItemTemplate>
...

<EditItemTemplate>
<asp:linkbutton runat="server" CommandName="Cancel" id="btnCancel"
causesvalidation="false" text="Abbrechen" />
<asp:linkbutton runat="server" CommandName="Update" id="Update"
causesvalidation="false" text="Speichern" />
</EditItemTemplate>

...

Hat jemand eine Idee, warum die Validierung ausgelöst wird und warum die
Prozeduren Update_Command_Profil und OnCancelCommand erst beim zweiten Klick
aufgerufen werden?

Danke!

Viele Grüße

Markus
 

Lesen sie die antworten

#1 Markus
28/05/2009 - 13:21 | Warnen spam
Mittlerweile kann ich das Problem etwas konkretisieren:

Beim Klick auf den Update- bzw. Cancel-Button durchlàuft die Seite die
Prozedur ItemCreated, ohne dass das DataListControl neu gebunden wird und im
Übrigen ohne dass zuvor Page_Load oder das Update_Command bzw.
Cancel_Command durchlaufen wird!!!!

Kann mir mal jemand erklàren, warum diese Prozedur aufgerufen wird, ohne das
DataListControl per DataBind() erneut gebunden wird? Und dann auch noch vor
der eigentlichen PostBack-Prozedur und vor Page_Load?

Viele Grüße

Markus

Ähnliche fragen