Zugabe habe ich im Grunde so etwas wie:Dynamisch einen Button auf einen Platzhalter in einem Datagrid
<asp:datagrid id="DGrid" runat="server" AutoGenerateColumns="false">
<asp:TemplateColumn HeaderText="Stuff">
<ItemTemplate>
<asp:PlaceHolder id="PH" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
</asp:datagrid>
Ich muß in Abhängigkeit von den Werten der Daten einen Button auf den Platzhalter hinzufügen Ich bin verbindlich. Im Moment füge ich die Schaltfläche hinzu, nachdem die Daten in Page_Load gebunden wurden. Das Problem ist, dass die Datenbindungsmethoden nicht in Postbacks aufgerufen werden, so dass die Schaltfläche verschwindet, wenn ich darauf klicke.
Irgendwelche Vorschläge, wie man das macht? Problem ist, dass ich einige Attribute des Rasterelements kennen muss, um den Button zu erstellen, also kann ich es nicht erstellen, bevor die Daten gebunden wurden.
Ich muss immer noch irgendwie auf die gebundenen Daten im Postback zugreifen - e.Item.DataItem scheint bis dahin NULL zu sein. – hrnt
Bitte sehen Sie mein Update. – volpav
Normalerweise ist e.Item.DataItem NULL, nicht wegen eines ViewState-Problems, sondern weil Sie die Header- oder Fußzeilen rendern. Versuchen Sie es mit einem if (e.Item.DataItem ist nichts) {return;} und sehen Sie, was passiert. – Peter