Kaufmännisches und-Zeichen als HTML-Codiert als &. Einen Weg dies zu verhindern?
Ich habe die folgende code-block erzeugt einen Link für ein Unternehmen.
Html.ActionLink(Html.Encode(currentCompany.GetDisplayName()), "CompanyFactsheet", "Company",
new {friendlyURL = currentCompany.FriendlyURL.ToLower()}, null)%>
Einige der Namen von Unternehmen enthalten, '&', und dieses wird so dargestellt, als &
Gibt es eine Möglichkeit, dass ich Html.Encode
den Namen des Unternehmens, aber immer noch halten die &
- symbol wie es Aussehen soll, anstatt &
?
Haben Sie überprüft, wie die Daten gespeichert werden? Sind Sie sicher, dass es nicht gespeichert als "& example", das tatsächlich ausgegeben wird, um die Quelle als "& Beispiel"?
Welche version von ASP.NET MVC verwenden Sie und wie sind Sie mit der Ausgabe von Html.ActionLink (
Welche version von ASP.NET MVC verwenden Sie und wie sind Sie mit der Ausgabe von Html.ActionLink (
<%:
oder <%=
)?InformationsquelleAutor DaveDev | 2011-02-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie es scheint, brauchen Sie nicht zu Kodieren, wenn über ActionLink-Helfer-Methode. Es kodiert intern:
Wie kann ich umgehen, die HTML-Codierung bei der Verwendung von Html.ActionLink in Mvc?
InformationsquelleAutor Stilgar
Überprüfen Sie die markup, die wird immer erzeugt. Der einzige Weg, dass die
&
sollte zeigen, auf der Seite ist, wenn Sie doppelte Verschlüsselung das kaufmännische und-Zeichen (also dem Quelltext der Seite würde zeigen&amp;
).Könnte dies werden verursacht, indem Sie entweder die Speicherung der Charakter bereits HTML-codiert oder wenn Sie
<%:
(die HTML-Codierung, die alles automatisch für Sie) statt<%=
.@Html.Encode(File.ReadAllText("..."))
, und es war doppelt-Codierung der Zeichenfolge. Geschaltet@File.ReadAllText(...)
und jetzt es funktioniert nur einmal.InformationsquelleAutor Justin Niessner
Ersetzen & zu einigen anderen charachter, bevor Sie Sie speichern, und ersetzen Sie Sie zurück NACH Codierung (mit Hilfe von jquery die meisten wahrscheinlich)... ich weiß, es klingt übertrieben, aber wenn Sie wirklich brauchen, die Html.Encode (oder <%:, oder @ Razor), dies ist der beste Weg IMHO....
Ja, würde ich mich über ein feedback, neben der downvotes...
Weil, Leistung klug, es ist ein schrecklicher Weg zu gehen
InformationsquelleAutor TDaver