Is there any simple way to convert an C#
-object into a plain string that is escaped and can be used by javascript?
I try to pass the string into a jQuery-function which will replace some parts of this string with real values to pass them as request-object via $.ajax
.
Whatever I tried (found in the internet) doesn't work.
Currently I have:
var jsVariable = "@Html.Raw(Json.Encode(new MyClass()))"
but this throws an Uncaught SyntaxError: Unexpected identifier
as of the "
are not escaped correctly.
Update 1
At the end I would like to have the JSON-string like
"{"Prop1": "{0}", "Prop2":"{1}"}"
on which I can (in javascript
) call
var request = string.Format(jsVariable, value1, value2);
to enable
$.ajax({
type: "POST",
url: "someUrl",
data: $.parseJson(request),
success: function(data) {
console.log("success");
},
dataType: "JSON"
})
Just get rid of the double quotes.
Make sure this is added in the script tag of your view.
you'd then get a javascript object with its properties - provided
MyClass
is defined, and is accessible in your CSHTML.jsVariable.myProp, jsVariable.myOtherProp
. . etc