随笔分类 - [61]MVC
-
实现资源的分页
摘要:—实现资源的分页系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html前言这篇文章我们将使用不同的方式实现手动分页(关于高端大气上档次的OData本文暂不涉及,但有可能会在系列的后期介绍,还没确定。。。),对于分页的结果,我们将采用2种不同的方式响应给客户端(1.将分页元数据封装在响应Body中2.在http响应报文头部添加分页信息)。众所周知,在服务器端一次性返回成百上千条数据是非常恐怖的,在我们设计Api的时候,对于Get方法我们应该以分页的方式返回。例如:每次响应给客户端10条数据,并且包含“上一页”和“下一页”的标签,这样用户就能去获得他想 阅读全文
-
分页
摘要:使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【七】——实现资源的分页系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html前言这篇文章我们将使用不同的方式实现手动分页(关于高端大气上档次的OData本文暂不涉及,但有可能会在系列的后期介绍,还没确定。。。),对于分页的结果,我们将采用2种不同的方式响应给客户端(1.将分页元数据封装在响应Body中2.在http响应报文头部添加分页信息)。众所周知,在服务器端一次性返回成百上千条数据是非常恐怖的,在我们设计Api的时候,对于Get方法我们应该以分页的方式返回。例如:每次响应 阅读全文
-
MVC 5.1的遭遇:“已添加了具有相同键的项”
摘要:ASP.NET MVC 3升级至MVC 5.1的遭遇:“已添加了具有相同键的项”最近将一个项目从ASP.NET MVC 3升级至刚刚发布的ASP.NET MVC 5.1,升级后发现一个ajax请求出现了500错误,日志中记录的详细异常信息如下:System.ArgumentException: 已添加了具有相同键的项。(An item with the same key has already been added) 在 System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) ... 阅读全文
-
开发框架(OrchardNoCMS)--BootStrap
摘要:基于ASP.NET MVC的热插拔模块式开发框架(OrchardNoCMS)--BootStrap按照几个月之前的计划,也应该写一个使用Bootstrap作为OrchardNoCMS的UI库。之前这段时间都是在学习IOS开发,没顾得上写,也没顾得上维护OrchardNoCMS代码。看看我的活动轨迹就知道啦:最近这两周快过年了,刚好写一篇博客来消磨时间,也顺便希望可以对大家有所帮助。由于我精简后的版本中去掉了Orchard.jQuery模块,所以首先我建立了一个模块来存放我需要的所有JS和CSS文件。创建一个ResourceManifest文件,它实现了接口IResourceManifestPr 阅读全文
-
ASP.NET Web API的HttpController是如何被激活的?
摘要:ASP.NET Web API的HttpController是如何被激活的?HttpController与HttpControllerDescriptor程序集的解析HttpController类型的解析目标HttpController类型的选择目标HttpController的创建通过上面的内容我们已经对HttpController激活系统的核心对象有了深刻的了解,这些对象包括用于解析程序集和有效HttpController类型的AssembliesResolver和HttpControllerTypeResolver,根据请求完整目标HttpController选择的HttpControl 阅读全文
-
MVC设计模式
摘要:MVC设计模式前言 前端的MVC,近几年一直很火,大家也都纷纷讨论着,于是乎,抽空总结一下这个知识点。看了些文章,结合实践略作总结并发表一下自己的看法。 最初接触MVC是后端Java的MVC架构,用一张图来表示之—— 这样,我们让每一个层次去关注并做好一件事情,层与层之间保持松耦合,我们可以对每一个层次单独做好测试工作。如此,我们可以让代码更具可维护性。 因此,借鉴于后端的这种MVC设计思想(更多的我想是一种优秀的、经过考验的实践模式),针对越来越复杂的JavaScript应用程序,便有了猜想,我们是否可以使用MVC的设计思想,编写出高维护性的前端程序。一、MVC定义 先来看看《... 阅读全文
-
ASP.NET MVC 中的视图生成
摘要:关于 ASP.NET MVC 中的视图生成在 ASP.NET MVC 中,我们将前端的呈现划分为三个独立的部分来实现,Controller 用来控制用户的操作,View 用来控制呈现的内容,Model 用来表示处理的数据。从控制器到视图通常,在 Controller 中,我们定义多个 Action ,每个 Action 的返回类型一般是 ActionResult,在 Action 处理的最后,我们返回对于视图的调用。public ActionResult Index(){ return this.View();}默认情况下,将会调用与 Action 同名的视图,比如,在上面的 Actio... 阅读全文
-
Webapi帮助文档
摘要:生成自己的Webapi帮助文档(一)最近Webapi接口的开发刚刚进入尾声,随之而来的是让用户知道接口的详细参数信息,看过淘宝的接口文档,但网上没找到他的实现方式虽然新建Webapi时C#也会给你一个帮助文档的Area,但是总觉得有些太复杂了,实用性值得商榷,于是对他做了些阉割,就有了自己的一个版本。今天只完成了一些基本框架,具体细节有待进一步实现。总体思路如下:1:扩展HttpConfiguration的属性来加入自己的帮助文档生成器,2:在每个Controller中添加该Controller的帮助信息3:查看HTML时结合ApiDescription信息和2中添加的帮助信息来生成页面以下为 阅读全文
-
ASP.NET MVC 5 -从控制器访问数据模型
摘要:ASP.NET MVC 5 -从控制器访问数据模型在本节中,您将创建一个新的MoviesController类,并在这个Controller类里编写代码来取得电影数据,并使用视图模板将数据展示在浏览器里。在开始下一步前,先Build一下应用程序(生成应用程序)(确保应用程序编译没有问题)在解决方案上,用鼠标右键单击Controller文件夹,点击新增,再选择Controller。在Scaffold新增对话框,选择MVC 5 Controller with views, using Entity Framework,点击新增。· 控制器(Controller)名称输入:MoviesCo 阅读全文
-
MVC UnitOfWork EntityFramework架构
摘要:MVC UnitOfWork EntityFramework架构,网站速度慢的原因总结!最近参考使用了郭明峰的一套架构来做新的项目架构,这套架构看起来还是不错的,先向小郭同学的分享精神致敬!(郭同学的项目文档:http://www.cnblogs.com/guomingfeng/archive/2013/05/19/mvc-overall-design.html)项目开发上线后,傻眼了,貌似没有几个人访问的新项目,速度一直慢的跟牛一样,真心没法交差啊。上面发下话了,解决不了就可以走人了。压力可想而知。接下来就是苦逼的找原因了。症状:1、内存占用高,8g的内存很快就能吃完 2、网站相应速度慢,f 阅读全文
-
Web Api中实现Http方法(Put,Post,Delete)
摘要:在Web Api中实现Http方法(Put,Post,Delete)系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html前言在Web Api中,我们对资源的CRUD操作都是通过相应的Http方法来实现——Post(新增),Put(修改),Delete(删除),Get(查询)。查询在前几章我们已经实现了,本章就在我们的案列(CourseController)中实现put,post和delete方法。使用Http Post方法创建一个Course首先,在“CourseController”中创建Post(CourseModel courseModel 阅读全文
-
迁移Model元数据设置项
摘要:.NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)阅读目录:1.需求背景介绍(Model元数据设置项应该与View绑定而非ViewModel)1.1.确定问题域范围(可以使用DSL管理问题域前提是锁定领域模型)2.迁移ViewModel设置到外部配置文件(扩展Model元数据提供程序)2.1.实现元数据提供程序(简单示例)1.需求背景介绍(Model元数据设置项应该与View绑定而非ViewModel)使用ASP.NETMVC构建普通的中小型站点可以使用简单的Model元数据设置方式来控制ViewModel如何显示在View中,但是复杂的应用场 阅读全文
-
MVC中如何实现本地化的解决方案
摘要:MVC中如何实现本地化的解决方案1. Q: 什么是本地化? A:本地化是指企业在国际化过程中,为了提高市场竞争力,同时降低成本,将产品的生产、销售等环节按特定国家/地区或语言市场的需要进行组织,使之符合特定区域市场的组织变革过程。2. 其思路是:创建一个新的资源文件项目,在需要的地方进行相应的调用。其具体步骤如下:1>. 创建类库项目在Resource project中添加文件夹Views-Home,这里最好和MVC对应起来,看起来一目了然。2> 添加资源文件 需要添加中文和英文两个资源文件。如上图所示:英文Index.en.resx和中文Index.resx如上图所示,上图是In 阅读全文
-
实现模型工厂,依赖注入以及格式配置
摘要:实现模型工厂,依赖注入以及格式配置系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html前言在上一篇中,我们已经初步开始使用Web Api了,但同时出现了一些很多不足之处,本章我们就着重来解决这些不足。上篇导航:http://www.cnblogs.com/fzrain/p/3510035.html配置JSON的格式Web Api提供Xml和JSON作为返回数据的格式,框架会自动把这些格式注入管线。客户端可以通过Http请求头部来声明需要的数据格式,我们可以通过在“WebApiConfig”这个类来配置JSON数据的格式:public static 阅读全文
-
ASP.NET MVC 多语言方案
摘要:ASP.NET MVC 多语言方案前言:好多年没写文章了,工作很忙,天天加班, 每天都相信不用多久,就会升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰,想想还有点小激动~~~~直到后来发生了邮箱事件,我竟然忘了给邮箱密码赋值,导致遇到“邮箱不可用。 服务器响应为: 5.7.1 Unable to relay for”的问题,网上一查后,让Boss去设置IIS里的SMTP。结果Boss力证不用设置也可以发,还给我发了N多Demo代码,让我蛋碎一地, 最后那点小激动,就在这小事件上栽没了~~~好了,不多扯了,回正文吧~~~引子:关于系统的多语言,我在之前的文章都写过不少,包括秋色园QB 阅读全文
-
最小的MVC工程
摘要:asp.net mvc笔记一,最小的MVC工程Asp.net MVC项目默认会引用很多第三方插件,特别是现在的5.0,默认示例项目就几十M,搞得都不知道那些才是MVC必须的,是重点,那些是可有可无的。今天我们就来试验一下,看看一个最小的MVC工程都需要那些东西。当然,为了试验,我们就不用VS自带的新建MVC工程,而是自己用一个普通的Web应用程序来搭建一个MVC项目,一层层揭开MVC的神秘面纱。下面的示例工程用的是VS2013,其它版本可能有些不同,但道理都是一样的。第一篇,建一个最小的MVC工程。第一步,打开VS2013,新建一个项目第二步,新建一个asp.net Web应用程序第三步,选择 阅读全文
-
权限管理系统-角色组模块
摘要:-权限管理系统-角色组模块距离上次发布22讲已经有少许日子了,真是太抱歉,最近年关项目比较急,时间太紧,没有时间发布.新年前再发布一讲,剩下的明年大家再见.先祝大家新年步步高升,菜鸟变老鸟.新年新气象,我换了个头像,高端大气上档次,看了不点赞,晚上做梦会梦见接下来我们的目标是角色组管理角色组权限设置用户管理把角色组授权给用户给用户分配角色组所以最少我们还要讲多5讲才能结束这个管理系统,经过之前的样例程序,我们很熟悉这个套路了,如果你很喜欢这个系列,你可以为这种重复性的动作写一个简单的代码生成器,或者一套强大的T4模版,其实这2个我都有,而且也是刚写的,以后系统完善了,给发布出来。是不是还可以呢 阅读全文
-
MVC视图中的@Html.xxx(...)
摘要:ASP.NET MVC视图中的@Html.xxx(...)问题在视图页中@Html.xxx(...)是什么?如何被执行?如下图所示: 解疑视图页中@Html.xxx(...)涉及的内容有:视图页被编译后的类继承自WebViewPage:WebViewPage:WebPageBase:WebPageRenderingBase:WebPageExecutingBase在进行View呈现过程中,创建视图页对象实例,此时 初始化了一个HtmlHelper对象,并赋值给其父类的一个名为Html的属性,@Html.xxx(...)中的Html就是该属性视图页中的@Html.xxx(...),经过编译之后. 阅读全文
-
ASP.NET MVC 5 - 创建连接字符串(Connection String)并使用SQL Server LocalDB
摘要:ASP.NET MVC 5 - 创建连接字符串(Connection String)并使用SQL Server LocalDB您创建的MovieDBContext类负责处理连接到数据库,并将Movie对象映射到数据库记录的任务中。你可能会问一个问题,如何指定它将连接到数据库? 实际上,确实没有指定要使用的数据库,Entity Framework将预设值使用的LocalDB。 在本节中,我们将显式地在Web.config文件中,添加应用程序的连接字符串(connection string)。SQL Server Express LocalDBLocalDB的是一个SQL Server Expre 阅读全文
-
ASP.NET MVC 5 - 添加一个模型
摘要:ASP.NET MVC 5 - 添加一个模型在本节中,您将添加一些类,这些类用于管理数据库中的电影。这些类是ASP.NET MVC 应用程序中的"模型(Model)"。您将使用.NET Framework 数据访问技术Entity Framework,来定义和使用这些模型类。Entity Framework(通常称为 EF) 是支持代码优先 (Code First) 的开发模式。代码优先允许您通过编写简单的类来创建对象模型。(相对于"原始的CLR objects",这也被称为POCO 类)然后, 可以从您的类创建数据库,这是一个非常干净快速的开发工作流程 阅读全文