2 Stimmen

Verwenden Sie den C#-Ausdruck, um den Wert des Server-Tag-Eigenschafts zu definieren

Ist es möglich, die Eigenschaft eines Server-Tags von einem C#-Ausdruck aus festzulegen, z. B. so etwas wie

?

Ich dachte, dass das ziemlich einfach wäre, aber ich kann einen solchen Ausdruck nicht zum Laufen bringen.

Vielen Dank für jede Hilfe

Ryan

6voto

Oded Punkte 475566

Ja, das ist möglich. Sie müssen sicherstellen, dass die Steuerung serverseitig ausgeführt wird (runat="server"), aber es hängt davon ab, was genau Sie im Ausdruck auswerten möchten.

Solange der Ausdruck einen String zurückgibt, sollte es in Ordnung sein.

Dies führt zu einer width='100' im Browser.

Update:

Das Obige ist völlig falsch. Sie können keine Serverseitigen Code-Renderblöcke (<%%> und <%=%>) auf diese Weise im Markup einer Serversteuerung platzieren (da es bereits serverseitig ausgeführt wird).

Um den Wert dynamisch zu steuern, muss dies entweder im Codebehind oder innerhalb separater Render-Blöcke erfolgen:

<%
  txt.Width = (10 * 10).ToString() + "px";
%>

Siehe dies und dies als Referenz.

1voto

Arthis Punkte 2243

Achten Sie auf den Typ, den Sie binden.

Zum Beispiel

        Width=<%# MyWidth %>
    >

Binden dieses Textfelds mit

protected string MyWidth="300";
protected string MyText = "Bla bla bla...";

wird nicht funktionieren, während:

protected int MyWidth=300;
protected string MyText = "Bla bla bla...";

es tun wird...

Guter Code für Sie,

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X