asp.net-mvc-4 – 如何在ASP.NET MVC 4上使用SPA热毛巾模板的本
发布时间:2020-12-16 07:05:28 所属栏目:asp.Net 来源:网络整理
导读:我可能是MVC中最缺乏经验的人,更不用说Hot Towel SPA了,但是我希望能够生产出基于这些技术的系统. 我已经阅读了Breeze网站和John Papa的所有文档,但我根本不知道如何创建与数据库的交互并检索数据和显示数据,添加或编辑数据,包括删除数据. 我必须在屏幕上构
我可能是MVC中最缺乏经验的人,更不用说Hot Towel SPA了,但是我希望能够生产出基于这些技术的系统.
我已经阅读了Breeze网站和John Papa的所有文档,但我根本不知道如何创建与数据库的交互并检索数据和显示数据,添加或编辑数据,包括删除数据. 我必须在屏幕上构建一个大约5个网格的仪表板,显示实时数据,因为它会进行一些时间计算. 到目前为止我所有的2天都修改了热毛巾模板以显示我的项目名称,我已经更改了热毛巾图标.我无法绕过这些东西……两年来,我一直是一个三层架构的ASP.NET网站开发人员. 有人可以给我指导如何通过这个模板传递数据吗? 解决方法
我从Hot Towel SPA开始,但使用了其他参考资料,例如您可以在这里找到的Durandal MovieApp样本.
http://stephenwalther.com/archive/2013/02/08/using-durandal-to-create-single-page-apps.aspx
我还下载并查看了包含样本的breezejs运行时. 在我的场景中,我使用带有实体框架的SQL并创建了一个WEBAPI控制器并遵循breezejs文档.我的控制器除外. [BreezeController] public class ProjectBillingController : ApiController { readonly EFContextProvider<ProjectBillingContext> _contextProvider = new EFContextProvider<ProjectBillingContext>(); // ~/api/todos/Metadata [HttpGet] public string Metadata() { return _contextProvider.Metadata(); } [HttpPost] public SaveResult SaveChanges(JObject saveBundle) { return _contextProvider.SaveChanges(saveBundle); } [HttpGet] public IQueryable<Client> Clients() { return _contextProvider.Context.Clients; } ... 然后我试图模仿代码& Durandal电影APP的目录结构 /App /App/respositories /App/repositories/repository.js /App/viewmodels /App/viewmodels/clients /App/viewmodels/clients/show.js /App/viewmodels/clients/edit.js /App/viewmodels/clients/create.js /App/views/clients /App/views/clients/show.html /App/views/clients/edit.html /App/views/clients/create.html 在我的情况下,我使用了一个存储库,因为它不是任何复杂的查询,虽然对我来说它是一个开始. 但在我的存储库中,我放置了定义的breezejs实体管理器和一些函数来检索所有行和1行.下面是代码的摘录, // repository.js function getRecordLists(modelsListsObservable,errorObservable,entity) { return breeze.EntityQuery .from(entity) .using(manager).execute() .then(querySucceeded) .fail(queryFailed); function querySucceeded(data) { modelsListsObservable(data.results); logger.log('Fetched ' + entity,null,true); } function queryFailed(error) { errorObservable("Error retrieving" + entity + " : " + error.message); logger.error("Error retrieving" + entity + " : " + error.message,true); } }; function getRecord(id,clientObservable,entity,entityKey) { return breeze.EntityQuery.from(entity) .where(entityKey,"==",id) .using(manager).execute() .then(querySucceeded) .fail(queryFailed); function querySucceeded(data) { clientObservable(data.results[0]); logger.log('Fetched a record from ' + entity,true); } function queryFailed(error) { errorObservable("Error retrieving a record from " + entity + ": " + error.message); logger.error("Error retrieving a record from " + entity + ": " + error.message,true); } }; // show.js define(function (require) { var repository = require("repositories/repository"); var app = require('durandal/app'); var router = require("durandal/plugins/router"); var logger = require('services/logger'); var models = ko.observableArray(); var error = ko.observable(); return { models: models,error: error,deleteRecord: deleteRecord,activate: function (data) { return repository.getRecordLists(models,error,"Resources"); } }; 我希望这对你有所帮助.我也在学习这个,有些东西可能不是最佳实践,但它足以让我学习. 谢谢 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – MVC1和MVC2之间的区别
- IdentityServer4 ASP.NET核心API Angular:登录/身份验证
- 使用ASP.NET DataBinding的C#4.0动态对象
- asp.net – MultipartFormDataStreamProvider清理
- asp.net-mvc-2 – 无论有没有nunit,mspec会更好吗?
- asp.net – 错误:远程服务器返回错误:(401)未经授权
- asp.net-mvc – ViewModel中的ASP.NET MVC SelectList
- asp.net – 标签系统的linq查询 – 搜索多个标签
- asp.net-web-api – 使用WebAPI和RavenDB进行基本会话处理
- asp.net-mvc – 如何组合两个dataTextFields的SelectList描
推荐文章
站长推荐
- 包含模型列表的模型(MVC-3,Razor)
- asp.net-mvc-5 – 我应该如何从JsonResult控制器
- asp.net-mvc – NSubstitute:在MVC / Web Api控
- .net – 什么是类的默认访问修饰符?
- asp.net-mvc – 使用Knockout JS MVC服务器端模型
- 尝试使用asp.net流式传输PDF文件会产生“损坏的文
- asp.net-mvc – ASP.NET MVC,自动完成文本框,缓存
- Forms身份验证应用程序中的ASP.NET Web服务
- asp.net – Windows Azure一般问题
- asp.net – 解决方案:在使用User控件时,元素不是
热点阅读