【问题标题】:How to generate angularjs model from c# class如何从 c# 类生成 angularjs 模型
【发布时间】:2015-04-11 19:25:18
【问题描述】:

我正在开发的 Angular 应用程序有几个跨越多个页面的大型输入表单。数据被添加到 Angular 模型中,该模型是 javascript 对象文字并发送到 webApi 控制器。我的 POST 方法的 webApi 参数是一个具有很多属性的 C# 类(duh)!是否有一个实用程序可以从我的 C# 类生成 javascript,以便我的绑定正常工作!尽管这似乎是一项平凡的任务,但我已经用谷歌搜索并失败了。一如既往地提前致谢。

【问题讨论】:

标签: c# angularjs asp.net-web-api binding model


【解决方案1】:

你应该在你的 JS 端使用 JSON 序列化并在你的 C# 端反序列化。

JS:

System.Web.Script.Serialization.JavaScriptSerializer serializer = 
new System.Web.Script.Serialization.JavaScriptSerializer();

string jsonParam = oSerializer.Serialize(param);

在你的 c# 端,你应该使用类似的东西,假设你的类是 Person:

C#:

Person person = new JavaScriptSerializer().Deserialize<Person>(param);

在序列化\反序列化 json 对象上查看 msdn documentation

【讨论】:

  • 是的,我可以这样做,但我仍然会遇到 javascript 对象和 C# 对象需要匹配以使序列化/反序列化正常工作的问题
  • 如果您将 c# 对象序列化为 JSON,您将拥有一个与您的 c# 类匹配的 JS 对象。
  • 所以我仍在寻找可以为我执行此操作的实用程序或 VS 扩展程序,而不是一些在某处吐出文本文件的 hacky 代码,然后我将其粘贴到我的 Angular 服务/模型中跨度>
  • 我们倾向于使用反序列化从 MVC Actions 或 ViewModels 中返回 JSON。您可以在 View 中使用 @Html.Raw(Model.JsonString) 或在 AJAX 调用的返回中使用它。不包含文本文件!
猜你喜欢
  • 2019-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-27
  • 1970-01-01
  • 1970-01-01
  • 2017-11-27
  • 1970-01-01
相关资源
最近更新 更多