ich eine Linkbutton-Steuerelement in einem Benutzersteuer wie diese haben (Akkordeon ist aus dem AJAX Control Toolkit):Linkbutton Befehlsereignishandler args immer reiht
<cc1:Accordion runat="server">
<Panes></Panes>
<HeaderTemplate></HeaderTemplate>
<ContentTemplate>
<asp:TextBox Text='<%# Bind("Title") %>' runat="server"></asp:TextBox>
<asp:LinkButton Text="Update" CommandArgument='<%# Container.DataItem %>' CommandName="ItemUpdate" OnCommand="LinkButton_Command" runat="server"></asp:LinkButton>
</ContentTemplate>
</cc1:Accordion>
Das Akkordeon in Page_Load gebunden ist:
protected void Page_Load(object sender, EventArgs e)
{
Accordion1.DataSource = GetACollection();
Accordion1.DataBind();
}
Aber in der Event-Handler-Befehl, egal was ich tue, sind die Argumente immer Strings:
protected void LinkButton_Command(object sender, CommandEventArgs e)
{
// sender is alway a string (the Text of the clicked button)
// e is always a string property of the Container.DataItem object
}
Die Strings kommen von den richtigen Objekten (der Button und das gebundene DataItem), aber ich brauche die Objekte selbst (das DataItem besonders).
Was ist los?
doh! Du hast recht. Der Debugger ließ mich glauben, ich könnte Objekte passieren, aber Sie haben Recht. Die Eigenschaft akzeptiert nur Zeichenfolgen. –
Keine Sorgen .. Ich aktualisierte mit einem besseren Link .. – madcolor