jquery - Create javascript object from doubleqoute text -
i have messy problem i'm stuck with. try use mvc model in javascript object (for later knockout binding).
what i'm in controller (object simplified showing problem):
public actionresult projectserviceoverview() { var result = new { text = "hello ""test"" test.." } return view(result); }
and in client code (aka java script):
$(function () { var jsonmodel = '@html.raw(newtonsoft.json.jsonconvert.serializeobject(this.model))'; var mvcmodel = json.parse(jsonmodel); [...]
my problem @ runtime server side generated json (var jsonmodel) looks , invalid because of double quots.
{ "reason": "hello "test" test..." }
i try find solution work without doing nasty replace ( " \") operation. there smarter way? in working code objects comes database mapped entity framework.
update 1
ok found out 'html.raw' call removed \" inside text nodes. think can handel this.
now i'm doing simple test like:
$(function () { var json = '{ "reason": "hello \"test\" test..."}'; var mvcmodel = json.parse(json); debugger;
and error because illegal signs!?
please :(
ok don't run json. i'm doing following.
action methode:
var serializer = new javascriptserializer(); viewbag.jsmodel = serializer.serialize(modelobject);
jscript:
$(function () { var mvcmodel = @(html.raw(viewbag.jsmodel));
this works me. if has better solution, happy hear.
greetings steffen
Comments
Post a Comment