2011-01-17 13 views
0

ASP seit etwa 6 Monaten kennen, und ich habe hartes Problem gehen. Ich habe meine eigenen Databinding Mechanismus geschaffen und ich brauche etwas Lösung somthing wie dies zu tun:Benutzerdefinierte ASP Bindungsmechanismus Problem

ich diesen Beispielcode

<myButton id="someID" runat="server" Text="SomeText" BackColor="{SomeContext}" /> 

in meinem ASPX haben, und ich habe in dieser Steuerung mein Eigentum Kontext von Typ Objekt. Ich möchte Eigenschaft, die innerhalb ist Kontext zu BackColor Eigentum binden. Name der Eigenschaft von Kontext ist SomeContext (in Klammern). Alles, was ich brauche, ist eine TypeConverter oder andere Technologie zu identifizieren, dass es einen Namen innerhalb {} und erinnere mich an diesen Namen innerhalb der Instanz myButton Kontrolle. Irgendwelche Ideen???

Ich dachte, dass ich meine eigene Klasse geerbt von Typeconverter und fangen den Moment der Umwandlung Wert {SomeContext} verwenden können auf Farbe (die Backcolor Eigenschaft). Ich kann diesen Moment abfangen, aber ich habe keine Informationen über die Zielsteuerung, nur einen leeren Kontext von String-Wert. Wenn jemand weiß, wie man Zieleigentum irgendwie bekommt, wird sehr !! hilfreich.

Ich habe gesucht, Web und nichts ...

+0

Warum nicht regelmäßige Databinding Ausdrücke funktionieren: (<%# ... %>)? – Craig

Antwort

0

Sie können dies hinter direkt im Code festgelegt:

someID.BackColor = context.Color; 
+0

Ja, aber ich verwende kein Codebehind im aktuellen Projekt. Also vielleicht etwas anderes ...? – Paul

0

Ich werde in meinem Projekt nicht Codebehind verwenden. Die Website wird von kompilierten angepassten aspx aus der Datenbank gerendert werden. Ich habe einen speziellen Ansatz für mein System und meine Bindung ist ein Hauptteil davon. Regulärer Datenbindungsausdruck wird nicht helfen, da er die ASP-Bindung verwendet, die ich nicht verwenden möchte.

+0

Builder für benutzerdefinierte Ausdrücke können helfen. Ich werde das überprüfen und hier antworten. – Paul

+0

Leider können Ausdrücke hier nicht helfen. Ich brauche eine C# Lösung, wie TypeConverter oder wie IL wie ASP Ausdrücke erzeugt werden kann, aber mit IL Code, der von meiner Klasse oder etwas anderem von mir geschrieben wird. Also ich denke, dass hier Reflection helfen wird, aber wie? – Paul

0

Leider habe ich keine Lösung für mein Problem gefunden, also entschied ich mich für innere Eigenschaften. Ich werde ASPX-Code wie folgt verwenden:

<myButton runat="server" ID="someID"> 
    <Binding> 
     <Bind Target="BackColor" Source="ColorOfBackgroundFromContext" /> 
     <Bind Target="ForColor" Source="ColorOfForegroundFromContext" /> 
    </Binding> 
</myButton> 
Verwandte Themen