Zeigt text von Ressourcen.resx in JavaScript
Dies ist der Beispiel-code in ASP.NET MVC 3 Razor:
@section header
{
<script type="text/javascript">
$(function() {
alert('@Resources.ExampleCompany');
});
</script>
}
<div>
<h1>@Resources.ExampleCompany</h1>
</div>
Den code oben das ist nur ein Beispiel, aber es zeigt auch, mein problem mit dem encoding. Diese variable @Ressourcen.ExampleCompany ist eine Datei Ressourcen.resx mit Wert ExampleCompany = "Twoja firma /Twój biznes"
In JavaScript der alert-zeigt die "Twoja firma /Twój biznes
".
Warum ist Charakter 'ó' 'ó'? Was mache ich falsch?
In HTML-Tags <h1>@Resources.ExampleCompany</h1>
wird korrekt angezeigt.
UPDATE:
Marke Schultheiss hat einen guten Tipp und meine "unschöne Lösung" ist:
var companySample = "@Resources.ExampleCompany";
$('#temp').append(companySample);
alert($('#temp').text());
Nun der Charakter ist ó
und sieht gut aus, aber das ist noch nicht die Antwort auf meine Frage.
- Wenn Sie Apostrophe in der Ressourcen-text finden Sie unter: stackoverflow.com/a/11650077/878612
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut HTML-Codierung von Zeichenfolgen - ASP.NET Web Forms VS. Razor View Engine, die
@
syntax automatisch HTML kodiert, und die Lösung ist die Verwendung derRaw
extension-Methode (z.B.@Html.Raw(Resources.ExampleCompany)
) zum Dekodieren der HTML. Versuchen Sie, und lassen Sie uns wissen, ob das funktioniert.$('#Company').example('@Html.Raw(Resources.ExampleCompany)');
. Nochmals vielen Dank.Einige dieser hängt davon ab, WAS Sie mit dem text machen.
Beispielsweise anhand der tags:
Und code (da du mit jQuery):
In den browser, die "Ergebnis" - tag zeigt beide korrekt (wie Sie wünschen), während die "anderen" zeigt, dass es mit dem flüchtigen Charakter. Und BEIDE Warnungen zeigen Sie es mit dem flüchtigen Charakter.
Siehe hier zum Beispiel: http://jsfiddle.net/MarkSchultheiss/uJtw3/.
Ich hatte ähnliche Problem, aber in meinem Fall war ich der Zuweisung eines Wertes von Ressourcen, um javascript-variable. Es war das gleiche problem mit dem Brief ó Codierung. Anschließend wird diese variable wurde festgestellt, um ein html-Objekt (genauer gesagt knockout "Bindung"). In meiner situation code unten geben einen trick:
Benutze ich folgenden trick:
Vielleicht hilft es ja.
UPDATE
Ich habe getestet dieses Verhalten Rasiermesser gründlicher und ich habe festgestellt, dass:
1.Wenn der text als normalen Inhalt von html dann @Html.Raw-Methode hilft einfach und schreibt char 'ó', ohne html-Codierung (nicht: ó)
Beispiel:
Beispiel:
2.Aber wenn es in html-tags als Attribut dann Razor wandelt es zu: ó und @Html.Raw überhaupt nicht helfen
Beispiel:
Yo kann es beheben, indem Sie die gesamte tag-zu-Resource (wie im post) oder Zeichenfolge (wie in meinem Beispiel)
So, manchmal jemand hätte wenig verwirrt, dass die Antworten, hilft den anderen aber nicht ihm.