2016-05-13 8 views
0

Ich versuche, das C# -Modell in Rasierer zu JavaScript-Modell mit JsonConvert.SerializeObject zu konvertieren.Escape HTML-Tags beim Konvertieren von C# View-Modell in Javascript-Modell

var brandsCollectionModel = '@(Html.Raw(JsonConvert.SerializeObject(Model)))'; 

Das Modell enthält eine Reihe von Eigenschaften eines anderen Typs. Das Problem besteht darin, dass einige dieser Eigenschaften Sonderzeichen enthalten, z. B. "<,>".

Leider verursacht diese JavaScript-Syntax-Fehler: „Syntaxerror: unerwartetes Token <“ Ich versuche, einen Weg zu finden, eine Eigenschaft zu erkennen, die Sonderzeichen enthält und es zu codieren. Ich verwende Html.Raw, um die Codierung zu verhindern, da ich keine doppelten Anführungszeichen vermeiden möchte, die beim Konvertieren von Model in JSON-String generiert werden.

Ich wäre dankbar für Ihre Hilfe.

+1

können Sie versuchen, diese: var data = '@ JsonConvert.SerializeObject (Modell)'; var jsObj = JSON.parse (data.replace (/ "/g, '"')); –

Antwort

1

Weisen Sie das serialisierte Modell der Variable js zu.

var data = '@JsonConvert.SerializeObject(Model)'; 

Wenn das Modell zu Json serialisiert wird, enthält sie & quot anstelle von „Charakter. Ersetzt es so mit“, es zu analysieren und js Variablen zuweisen.

var jsObj = JSON.parse(data.replace(/&quot;/g,'"')); 
+0

Perfekt! Vielen Dank! – Grentley