2010-12-28 12 views
0

Ich versuche, einen bestimmten Abschnitt meiner Tabelle zu verbergen oder zu zeigen, abhängig vom Wert einer Eigenschaft in meinen Bindungsobjekten.Zugriff auf Datenbindungsobjekt in ASPX-Seite in ASP.NET?

public class Class1 
{ 
    public bool Display { get; set; } 
} 

In ASP.NET MVC, ich kann das folgende gerade tun (das Class1 unter der Annahme ist das Modell, das auf der Seite bindet.)

<table> 
    <tr>Row 1</tr> 
    <tr>Row 2</tr> 
    <% if(Model.Display) { %> 
    <tr>Row 3</tr> 
    <tr>Row 4</tr> 
    <% } %> 
</table> 

Wie kann ich das gleiche Verhalten in Übergangs-ASP erreichen .NETZ? Diese Variable "Model" ist nicht verfügbar. Wie kann ich das Datenbindungsobjekt abrufen? Vielen Dank.

+0

Worauf beziehen Sie sich? Gibt es ein GridView, FormView oder etwas anderes auf dieser Seite? – Marcie

+0

Ich binde eine Auflistung von Objekten an ein Telerik RadGrid-Steuerelement, und die Tabelle befindet sich in der verschachtelten Vorlage jeder Bindungsobjektzeile. – weilin8

Antwort

2

Fügen Sie Ihrer Seitenklasse eine Eigenschaft hinzu, die die benötigten Informationen enthält. Sie können dann vom Markup aus darauf verweisen.

Codebehind:

class PageClass : System.Web.UI.Page 
{ 
    protected Class1 SomeImportantInfo { get; private set; } 
} 

Markup:

<table> 
    <tr>Row 1</tr> 
    <tr>Row 2</tr> 
    <% if (this.SomeImportantInfo.Display) { %> 
    <tr>Row 3</tr> 
    <tr>Row 4</tr> 
    <% } %> 
</table> 
+0

Meine ursprüngliche Absicht war, das Datenbindungsobjekt direkt in der Aspx-Seite zu verwenden, in der Hoffnung, irgendwie DataBinder zu nutzen. Ich bin immer noch neugierig, ob es einen Weg gibt, diesen Weg zu gehen. Aber das wäre auch eine Lösung. Vielen Dank. – weilin8

0

Während Datenbindung Sie auf Ereignisse wie OnRowDataBound abonnieren können, etc. Diese haben oft eine e.DataItem Eigenschaft auf den EventArgs. Hiermit können Sie das e.DataItem auf den Objekttyp im Sammlungsbereich umwandeln.

Verwandte Themen