2009-06-01 4 views
0

Ich habe eine "action" -Spalte in meinem Repeater, die Aktionen zeigt, die ein Benutzer für einen Gegenstand auswählen kann. Die Spalte enthält ASP.NET HyperLink- oder LinkButton-Steuerelemente. Einige Aktionen basieren darauf, ob ein Benutzer in einer Rolle ist, die ich programmatisch festlege. Ich kämpfe mit der besten Möglichkeit, diese Spalte dynamisch zu generieren, wenn ich den Repeater bevölkere. Jetzt weise ich der Sichtbar-Eigenschaft jedes Steuerelements Inline-Code zu, aber ich fühle, dass das schlampig und nicht sehr geradlinig ist. Wäre es besser, wenn ich ein PlaceHolder-Steuerelement verwende und es zur Laufzeit bevölkere? Welche Art von Methoden nutzen andere Menschen in solchen Situationen?Spalte "Aktion" in einem DataReader

Antwort

4

Die "normale" Möglichkeit, eine Art von dynamischem Rendering auf ein Template-basiertes Steuerelement wie das Repeater anzuwenden, besteht darin, die Ereignisse ItemCreated oder ItemDataBound zu behandeln.

In Ihrem speziellen Fall können Sie die entsprechenden Bedingungen in diesem Ereignishandler überprüfen und die Sichtbarkeit der relevanten Spalte "Aktion" umschalten.

Auch, see this question wo Ian Quigley ein Code-Snippet gepostet, das als ein gutes Beispiel für Sie dienen sollte. Es kann auch helfen, meine eigene Antwort zu lesen, die zeigt, wie Sichtbarkeitsumschalten in Inline-Code verwendet wird.

+0

Gute Sachen ... danke! –

+0

Mein Vergnügen ... Sie sind herzlich willkommen. :-) – Cerebrus