Я пытаюсь это сделать, основываясь на вашем образце и комментариях, но является ли MyJsonString
строкой, которая уже закодирована в JSON? Звучит так, как есть, и поэтому кодируется дважды.
Если это так, то вам, возможно, повезет, вернув объект, который вы использовали для создания строки в кодировке JSON, например:
public virtual ActionResult Json()
{
var someObject = MethodThatCreatesAnObject();
//or just create it on the fly
//var someObject = new { val1 = "value", val2 = "another" };
return Json(someObject);
}
В качестве альтернативы, вы можете создать элемент управления, который имеет строку в качестве типа модели и в которой нет содержимого, кроме <%: Model %>
, а затем вы можете сделать что-то вроде:
public virtual ActionResult Json()
{
return ActionResult("MyJsonControl", MyJsonString);
}
Но я бы действительно заглянул в первое, прежде чем идти со вторым.