asp.net-mvc – angularjs和mvc5之间通信的最佳方式是什么?
我有一些困惑在
angularjs和MVC5之间传输数据.我正在创建单页面应用程序(SPA).
>使用angularjs的最佳方法是什么?是MVC控制器还是MVC API? 我没有找到正确的工作方向.我熟悉mvc但不熟悉API.所以,请指导我一个正确的方法!! 提前致谢 解决方法
首先,使用当前版本的Visual Studio(2013),“Web表单”项目和“mvc”项目之间没有区别.只有一个Web应用程序项目,在里面你可以放任何你想要的东西.
根据我的经验,一个好的和干净的方法来解决你的问题是创建普通的MVC控制器来呈现包含angularJS应用程序的剃刀视图,并为ajax方法的RESTful接口创建WebAPI控制器. 在angularJS中,您不需要手动执行ajax调用.有一种更方便,更强大的方式:资源.它们也适用于WebAPI设计,因为WebAPI控制器使用单一类型的对象(即客户),并且通过HTTP VERBS允许您执行CRUD.例如: // assume we have a backend repository that handles the data public HttpResponseMessage Get() { return this.Request.CreateResponse(HttpStatusCode.OK,this.repository.GetAllCustomers()); } public HttpResponseMessage Post(Customer customer) { var modifiedCustomer = this.repository.Update(customer); this.repository.SaveChanges(); return this.Request.CreateResponse(HttpStatusCode.OK,modifiedCustomer); } 此方法查询所有可用客户并返回它们.您不在此处定义是返回JSON还是XML:WebAPI框架读取WebAPI请求的HTTP HEADERS并根据客户端的请求序列化数据.对于您可能正在使用的JSON,它通过定义的默认JSON序列化程序进行序列化.您可以覆盖它以更改JSON的创建方式,常见的方法是将JSON.NET与自定义设置一起使用. AngularJS资源用于映射单个URL并在内部使用所有动词,并向您公开$save,$query,$get等方法,因此它们非常合适.例如: var customerRes = $resource('/customers'); var currentCustomers = customerRes.query(function(){ // query is mapped to the GET verb currentCustomers[0].email = "foo@baz.bar"; currentCustomers[0].$save(); // default mapped to the POST verb }); 我建议您查看文档和示例以获取更多详细信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET CORE中控制器内return HTML 内容自动编码问题
- 三种属性操作性能比较:PropertyInfo + Expression Tree +
- asp.net – 如何将@Model传递给Angular ng-init
- asp.net-mvc – 无法添加MVC控制器VS2012给出“对象引用未设
- asp.net – 在App_Code目录中调试长编译时间
- asp.net – IsPostBack,IsAsync和IsCallback有什么区别?
- AspNet Core在内存中使用,用于在IIS中运行时进行数据保护
- Singleton vs Cache ASP.NET
- asp.net – Azure上的联合身份验证
- asp.net – 命名Dom元素的Id属性的最佳实践
- asp.net-mvc – ASP .NET MVC保护控制器/动作
- Asp.Net MVC5 – Html.Action – 属性路由 – 导
- asp.net-mvc – ASP.NET MVC不调用global.asax’
- asp.net-mvc – 单元测试ASP.Net MVC Action结果
- asp.net-mvc-4 – 如何配置使用Authorize(Roles)
- ASP.NET Page_Init被解雇了两次!
- .net – 在控制器中创建子文件夹
- asp.net-mvc – NLog,Elmah共享库
- .net – 为每个用户创建子域
- asp.net – 使用纯CSS定义asp:GridView的全局网