有没有办法轻松获取 C# 模型的 JavaScript 表示形式

Is there a way to easily get the JavaScript representation of a C# model?

本文关键字:JavaScript 表示 模型 获取 有没有      更新时间:2023-09-26

我有一个 ASP.NET MVC应用程序,我在其中为我的数据声明了一些C#模型。但是,我也在客户端处理数据,如果我能以某种方式获得 C# 类的 JavaScript 表示形式,这样我就不必在 JavaScript 中重新声明相同的数据结构,那就太好了。理想情况下,在我的客户端代码中,我会引用一个带有类名的脚本作为查询字符串参数,它将返回定义所需 C# 类的构造函数的 JS 代码。例如

<script src="/model/get?type=Myapp.User"></script>

当然,这一切都会在反射的帮助下在运行时发生。

是否有任何现有的解决方案可以做到这一点?谢谢。

您可以使用内置的 JsonResult 类将对象的实例作为 JSON 返回,但对于类型信息,您需要自己构建一些东西(再次可能以 JSON 形式返回)。

Json.Encode(MyObject)

或者获取Newtonsofts json库(它更好),它有很多选项,包括类型信息,这对于继承很有用。

然而。。。。任何循环引用都是问题。 通常,最好使用视图所需的最小对象结构创建一个匿名对象,然后对其进行编码。