c# - HTMLString 序列化为字符串,以 json 编码

标签 c# .net json asp.net-mvc-3 razor

只是我想在我的对象中有一个属性序列化为字符串而不是 HtmlString(它是)。

这里的原因是对象在 json 中被序列化,toString 函数返回的不是对象的字符串内容,而是“[object Object]”。

或者,是否可以将该属性标记为 [Non-Serializable] 并将另一个属性公开为可序列化版本?

提前致谢

编辑: 示例代码:

[Serializable]
public MyObject 
{
    public int id= 0;
    public string name = "myName";
    public HtmlString WishIWasAString = new HtmlString("notAString");
    public string fakeHtmlString
    {
        get { return WishIWasAString.ToString(); }
    }
}

示例 Json:

{
  id: 0, 
  name: 'myName'
  wishIWasAString: {}
  fakeHtmlString: 'notAString'
}

最佳答案

<script type="type/javascript">
    var fooProperty = @Html.Raw(Json.Encode(Model.Foo));
</script>

或者,如果您想将整个模型以 JSON 序列化为一个 javascript 变量:

<script type="type/javascript">
    var model = @Html.Raw(Json.Encode(Model));
    alert(model.Foo.Bar);
</script>

关于c# - HTMLString 序列化为字符串,以 json 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7640596/

相关文章:

c# - 在 WPF 中将 Canvas 转换为可写位图的最快方法?

c# - 使用 Enterprise Library 将字段添加到数据库日志

c# - 如何在 C#/.NET 中使用 LINQ 表达式树调用 lambda

javascript - Json 字符串转数组(js、jQuery)

c# - 根据某些条件启用和禁用按钮、标签

c# - 为什么我的 "calculate"不起作用?

c# - 如何在现有解决方案中将项目添加到源代码管理

javascript - 循环 JSON 对象并绘图到 map

json - Grails-在 Controller 中生成自定义JSON时出错

c# - 设置继承以避免 future 代码冗余的最佳方法是什么?