Das ist jetzt mal ne richtig peinliche Frage...aber wie zum teufel verkettet man in asp.net string inline?
nehmen wir an ich hab ein einfaches label und möchte jetzt einach hinter dem Text-Attribut einen Doppelpunkt anfügen...Für mich ist das erstmal recht unlogisch... wenn ich hinter Test="<%xxx%> ;" schreibe überschreibt er mir alles und nur der Doppelpunkt ist zu sehen.
Sorry für die doofe Frage aber ich hab dazu nichts finden können.
<asp:Label ID="filterLbl" runat="server" Text="<%$ Resources:zeitraum.Text %>"></asp:Label>
IIRC geht das in ASP.NET nicht.
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
hmm das ist ein wenig doof... ok, ist wahrscheinlich nicht im konzept vorgesehen von wegen sauber und so 😃. Aber ich benutze MVC und da soll man ja versuchen auf code-behind zu verzichten.
schreib deinen Doppelpunkt auch in die Ressourcen und/oder übergebe die Daten aus dem Controller.
Nebenbei: Im MVC sollte man nicht nur auf Codebehinds verzichten, sie haben dort auch einfach auch nichts verloren. 😉
MfG
Jürgen
ASP.NET Zone | gutsch-online | sharpcms | .NET Stammtisch Konstanz-Kreuzlingen | See# Party
ich werd es erstmal in die Ressource schreiben. Aber die Label-Texte aus der Ressource zu holen ist bei MVC o.k. oder?
wenn ich dann auch anfange die Texte der Präsentation aus dem Controller zu übergeben wird ja arg unübersichtlich...
mal ne Frage, wozu überhaupt ein Label-Control? Triviale HTML-Konstrukte schreibe ich generell direkt in HTML, ohne Umweg über Servercontrols. Bis auf die Contentplaceholder sind in meinen MVC-Views überhaupt keine Servercontrols mehr zu finden.
hmm wie kann ich denn den inhalt der Ressource ausgeben ohne Label?
direkt ausgeben ging bei mir glaube ich nicht.
Hallo itstata
Zum Beispiel so?
<p><%= Resources.FooBar %></p>
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
ich bin ein ganz schlauer oder :p
besten dank. das dürfte meinen code halbieren 😃
ich hab doch noch ein problem:
<p>
<%= Resources.period.Text %></p>
ergibt bei mir folgenden Fehler...
Der Name "Resources" ist im aktuellen Kontext nicht vorhanden.
ich hab auch schon system.resources importiert
<p><%= Resources.period.Text %></p>
<asp:Label ID="filterLbl" runat="server" Text="<%$ Resources:zeitraum.Text %>"></asp:Label>
Da hast du ein $ benutzt, und jetzt ein =
> Codejunky <
Parserfehler
Beschreibung: Fehler beim Verarbeiten einer Resource, die für diese Anforderung erforderlich ist. Überprüfen Sie folgende Fehlerinformationen und ändern Sie die Quelldatei entsprechend.
Parserfehlermeldung: Literale Ausdrücke wie <%$ Resources.period.Text %> sind nicht zulässig. Verwenden Sie stattdessen <asp:Literal runat="server" Text="<%$ Resources.period.Text%>" />.
Quellfehler:
Zeile 34: <%-- Zeitraum--%>
Zeile 35: <asp:Panel ID="filterPanel" runat="server" GroupingText="<%$ Resources:filterPanel.Text %>">
Zeile 36: <p><%$ Resources.period.Text %></p>
Zeile 37: <%= Html.DropDownList("periods")%>
Zeile 38: <asp:Label ID="fromLbl" runat="server" Text="<%$ Resources:from.Text %>" />
Jetzt eine ganze dumme Frage zum Thema Resourcen
Sollte man nicht mit Resourcekey lokalisieren?
<asp:Label ID="StartLbl" runat="server" resourcekey="StartLabel"></asp:Label>
kann man auch machen, aber dann muss man ja auch das label als platzhalter oder wie auch immer nutzen. das coole ist halt, dass man dann auch andere eigenschaften dadurch festlegen kann. Tooltip z.B.. Die farbe wird sich wohl kaum zwischen dt und en unterscheiden 😃