Я хочу передать сериализованный объект json и вернуть его в рамках результата пользовательского HTML-помощника.Примерно так
public static HtmlString SomeHelper(this HTMLHelper htmlHelper)
{
var MyObject = new Foo();
var oSerializer = new JavaScriptSerializer();
var str = string.Format(@"<a href""#""
onclick=""var myObject = $.parseJSON(0);
alert('my object name property '+ myObject.Name); ""> Click me</a>",
oSerializer.Serialize(MyObject));
return new HtmlString(str);
}
Эта вещь теоретически должна работать, но это не так.Он помещает сериализованную строку в разметку, а затем все становится грязным из-за двойных и одинарных кавычек.Я пытался применить HtmlString после сериализации, я даже пытался использовать HTmlString.ToHtmlString ().Ничего не работает
На самом деле я, вероятно, не должен этого делать.Вызов события click должен быть ненавязчивым.Я знаю.Тогда мне все еще нужно сохранить объект json где-нибудь в результирующей разметке.
Upd: Я даже пытался это сделать:
sJson.replace("\"",""")
Не помогаетБраузер автоматически преобразует "
s в "
.Я не знаю, как сохранить разметку