随笔分类 - [61]MVC
-
写自己的ASP.NET MVC框架
摘要:写自己的ASP.NET MVC框架(上)阅读目录开始ASP.NET程序的几种开发方式介绍我的MVC框架我的MVC框架设计架构回忆以往AJAX的实现方式MyMVC中实现AJAX的方式如何使用MyMVC框架中的AJAX功能配置MyMVC框架MyMVC框架的实现原理 - 映射处理器(入口)MyMVC框架的实现原理 - 对Session的支持MyMVC框架的实现原理 - 对OutputCache的支持MyMVC框架的实现原理 - 查找Action的过程MyMVC框架的实现原理 - 执行Action的过程MyMVC框架的实现原理 - 如何给方法赋值MyMVC框架的实现原理 - 处理返回值MyMVC框架的 阅读全文
-
Asp.Net MVC3网站并成功的连接了MongoDB
摘要:我们已经创建了一个简单的Asp.Net MVC3网站并成功的连接了MongoDB。但只实现了创建和显示的功能。本回实现了完整的增删改查。创建的部分,上次的代码中存在一些错误,造成了每个属性都会被创建为单独的一条记录,这并不是我们期待的结果。更改如下:\Controllers\HomeController.cs 1: [HttpPost] 2: public ActionResult Create(FormCollection collection) 3: { 4: try 5: ... 阅读全文
-
MongoDB
摘要:晚上闲来无事,研究了一下最近很火的MongoDB。感受只有一个:“自由”。闲话略过,先让MongoDB在Win7 64下跑起来:1. MongoDB主页http://www.mongodb.org/2. 下载http://downloads.mongodb.org/win32/mongodb-win32-x86_64-1.8.1.zip3. 解压e.g. H:\mongodb-win32-x86_64-1.8.14. 准备目录e.g. H:\mongo\data --保存数据库文件 H:\mongo\logs --保存log,在此目录下手动创建一个log.txt5. 安装Win键,输入cmd, 阅读全文
-
MongoDb与MVC3的增删改查-采用官方驱动
摘要:近来关注了MongoDb这个NoSQL数据库,于是查了些相关资料还买了本书,打算学习一下。之前做了个简单的例子,演示了一下在MVC3下对MongoDb数据库增删改查的操作,原因是由于网上大部分示例都是使用的第三方的驱动开发如:NoRM等等,而刚开始的时候我在官方下载的驱动和网上找的示例都不一样,搞了半天才搞清楚了(其实这是能怪自己E文不好,其实官方网站都有对第三方驱动进行说明的http://www.mongodb.org/display/DOCS/Drivers),于是自己查了些资料用采用官方支持驱动做了个简单示例,只是对一篇文章增删改查操作。官方驱动:https://github.com/m 阅读全文
-
我要学ASP.NET MVC 3.0系列
摘要:MVC 3.0系列基于ASP.NET MVC 3.0程序开发系列文章我要学ASP.NET MVC 3.0(十九): MVC 3.0 实例之使用开源控件实现表格排序和分页posted @2011-08-22 15:53记忆逝去的青春 阅读(2230) |评论 (12)编辑我要学ASP.NET MVC 3.0(十八): MVC 3.0 实例系列之表格中合并排序、分页和筛选posted @2011-08-19 09:19记忆逝去的青春 阅读(1334) |评论 (4)编辑我要学ASP.NET MVC 3.0(十七): MVC 3.0 实例之表格中数据的筛选posted @2011-08-18 09: 阅读全文
-
【翻译】【项目架构必备】Asp.Net MVC3 定义自己的项目模板
摘要:一、前言最近一直在研究如何自定义项目模板,(之前的做法一直是做一个工程,然后拷贝这个文件夹,改改名字。)偶然间发现这篇文章:http://haacked.com/archive/2011/06/05/creating-a-custom-asp-net-mvc-project-template.aspx,于是翻译下来,以飨给位看官。二、正文当你创建一个新的ASP.NET MVC 3 项目的时候,向导窗口中一般包含以下几个选项:EmptyInternet ApplicationIntranet Application (new in theApril 2011 Tools update)注意到该对 阅读全文
-
【翻译】在没有安装ASP.NET MVC3的服务器上运行ASP.NET MVC3的程序-scottgu
摘要:原文地址:http://weblogs.asp.net/scottgu/archive/2011/01/18/running-an-asp-net-mvc-3-app-on-a-web-server-that-doesn-t-have-asp-net-mvc-3-installed.aspx为了更符合中文阅读习惯,我对原文做了小幅度修改最近我们发布了一些新的Web产品- 包括ASP.NET MVC 3。至今为止,我们已经获得了大量的反馈。有几个朋友在问我一个问题:“我的网站托管服务提供商目前还不支持ASP.NET MVC 3 - 你知道他们将来什么时候会安装吗?”好消息是,您不必等他们在Web 阅读全文
-
ASP.NET MVC4中的异步控制器
摘要:ET MVC 2/3中的异步控制器在ASP.NET MVC 2/3 中, 要实现一个一步控制器,你将不得不实现两个方法, 一个叫XXXAsync, 另外一个叫XXXCompleted, 同时你的控制器还要改成继承自AsyncController,关于这个的实现和讲解已经有很多现成的例子, 这里我就直接从MSDN上搬过来一个例子吧.要看异步控制器, 我们首先看看同样功能的同步实现, 大家应该都很熟悉了: publicclass PortalController: Controller { public ActionResult News(string city) { ... 阅读全文
-
Asp.net MVC 基于规则的权限设计
摘要:上面一篇文章我们简单介绍了一个一级菜单的应用。在实际的设计中菜单的的信息基本存储在sitemap的xml文件中,菜单还涉及到权限问题。本章将介绍并举例说明如何设计基于规则的MVC应用程序的安全性。基于角色的授权在计算机系统的安全,基于角色的访问控制(RBAC)是一个系统访问限制授权用户的方法。在一个组织内,角色创建的各项工作职能。来执行某些操作的权限分配给特定的角色。业务上我们必须定义一套针对不同的业务功能的角色体系,例如管理员,数据管理员,普通用户的角色... ...基于规则的访问控制以规则为基础的授权框架,一般利用XML文档存储简单的规则设置,来控制系统访问权限。(也可以存储在数据库中,读 阅读全文
-
使用Nancy和Simple.Data两个轻量级的框架打造一个分布式开发系统
摘要:使用Nancy和Simple.Data两个轻量级的框架打造一个分布式开发系统(一) 可能有的人看到这个标题觉得是噱头,那是因为你还不了解Nancy是干嘛的。如果一个国外的人说,大部分微软平台的开发人员如果选择开发框架只能是在ASP.NET和ASP.NET MVC两个之间选择。 而Nancy是不依赖于这两个框架的独立的一个框架。它更多的是借鉴了Ruby的一些特性。先看个例子说明如何使用NancyFX:创建一个ASP.NET(MVC)的空解决方案。如果是ASP.NET MVC类别的空解决方案,记得在Global.asax文件中把路由注释掉,Nancy有自己的一套路由机制。使用Nancy,它在配置文 阅读全文
-
在ASP.NET MVC中如何应用多个相同类型的ValidationAttribute?
摘要:ASP.NET MVC采用System.ComponentModel.DataAnnotations提供的元数据验证机制对Model实施验证,我们可以在Model类型或者字段/属性上应用相应的ValidationAttribute。但是在默认情况下,对于同一个类型的ValidationAttribute特性只允许一个应用到目标元素上——即使我们将AllowMultiple属性设置为True。这篇文章的目的就是为了解决这个问题。[源代码从这里下载]一、一个自定义ValidationAttribute:RangeIfAttribute为了演示在相同的目标元素(类、属性或者字段)应用多个同类的Val 阅读全文
-
[翻译]ASP.NET MVC 3 开发的20个秘诀(二十)[20 Recipes for Programming MVC 3]:缓存结果数据加速页面载入
摘要:议题随着网站的发展,大量用户访问流行内容和动态内容,这两个方面的因素会增加平均的载入时间,给Web服务器和数据库服务器造成大量的请求压力。而大量的数据请求就需要强大的数据库处理能力来支撑。改进更加只能的程序,以极少不必要的数据库访问或动态处理请求,可以节省添加更多服务器的费用以及显著提高Web应用程序的整体速度。解决方案实现OutputCacheAttribute类,缓存不经常改变的数据或者相对固定的动作。讨论在MVC3中实现缓存是非常容易的事情。将下面的属性添加在某个控制器的动作上即可完成:[OutputCache (Duration=600)]这个语句将自动缓存该视图600秒(或10分钟) 阅读全文
-
《Pro ASP.NET MVC 3 Framework》学习笔记之十五
摘要:绑定Shopping Cart定义购物车Cart的实体,购物车是我们程序业务领域的一个部分,所以在我们领域模型(Domain Model)里面添加一个cart的实体是合理的。在SportsStore.Domain的Entities文件夹下添加一个Cart的实体类,如下所示:View Code添加几个测试方法测试下,如下所示:View Code编辑Views/Shared/ProductSummary.cshtml,如下所示:View Code当我们提交表单时,会调用CartController下的AddToCart action方法。Note:我们通过Html.BeginForm来创建一个表单 阅读全文
-
【ASP.Net MVC3 】使用Moq让单元测试变得更简单
摘要:前几天调查完了unity。现在给我的任务是让我调查Moq。以下是自己找了资料,总结并实践的内容。如果有表述和理解错误的地方。恳请指正。什么是Moq?Moq(英语发音是Mock-you 或者只是mock)是一个针对.Net开发的模拟库,它从开始就完全充分利用了.NET3.5(LINQ表达式树)和C#3.0的新特性(lambda表达式)。它的目标是让模拟以一种自然的方式与现有单元测试进行集成,使它更加简单、直观,以避免开发人员被迫重写测试或高成本的学习测试框架。这使它成为了一个高生产力、类型安全、重构友好的模拟库。从哪得到Moq?如果你看过我的其他文章,我们可以直接使用 VS中的插件Nuget来获 阅读全文
-
Asp.Net MVC2.0----3.0
摘要:初识Asp.Net MVC2.0本篇文章是介绍一下MVC的基本的概念,给初学者做一个入门前的知识储备。先讲一下MVC的概念: Asp.Net MVC 模式是一种表现模式。它将web应用程序分成三个主要组件即: Model、View、Controller(1)下面分别讲M、V、C各自的定位: M:Model 主要是存储或者是处理数据的组件 Model其实是实现业务逻辑层对实体类相应 数据库操作,如:aud。它包括数据、验证规则、数据访问和业务逻辑等应 用程序信息。 V:View 是用户接口层组件。主要是将Model中的数据展示给用户 C: Control 处理用户交互,从model中获取数据并将 阅读全文
-
Orchard一个基于ASP.NET MVC下的CMS系统。
摘要:一个基于ASP.NET MVC下的CMS系统。Orchard 1.3新功能之——规则(Rules)摘要: 本文主要介绍了Orchard 1.3中新增的规则(Rules)功能。阅读全文posted @2011-10-17 15:55二十四画生 阅读(1153) |评论 (7)编辑|Orchard 1.3新功能之——Markdown编辑器摘要: 本文主要介绍了如何使用Orchard 1.3 新增的Markdown编辑器。阅读全文posted @2011-10-08 08:52二十四画生 阅读(1477) |评论 (5)编辑|Orchard 1.3 发布了!摘要: Orchard 1.3版本发布了。 阅读全文
-
ASP.NET MVC3关于生成纯静态后如何不再走路由直接访问静态页面
摘要:问题描述:高访问量类型的电子商务网站,需要将一些不是经常变化的页面生成静态页面,然后普通用户就可以直接访问这些静态页面而不用再访问需要连接数据库的动态页面。那么ASP.NET MVC3中如何做到这一点呢?要解决这个问题,我们需要先了解ASP.NET应用程序的生命周期,先看下面作者整理的一张图片:从图中我们可以清楚的看到:通用IIS访问应用程序时,每次的单个页面URL访问时,都会先经过HttpApplication 管线处理请求,走过BeginRequest 事件之后才会去走路由访问具体的Controller和Action,最后结束的时候会请求EndRequest事件。下面用一张图来表示这个顺序 阅读全文
-
Pro ASP.NET MVC 3 Framework
摘要:前面的笔记做了关于Ninject(MVC三类工具里面第一类IoC容器),本次的笔记是关于VS里面提供的Unit Testing工具的使用以及Moq(模拟工具)。1.Visual Studio自带的单元测试工具除了使用微软自带的单元测试工具,我们还可以选择NUnit--非常流行的一款测试工具。接下来我们创建一个项目ProductApp,你也可以使用NUnit,猛击这里获取。它的使用跟VS自带的非常类似。首先我们创建用来的测试的类和接口,如下所示:public class Product { public int ProductID { get; set; } public st... 阅读全文
-
实现Ajax增强用户体验ASP.NET MVC 3
摘要:[翻译]ASP.NET MVC 3 开发的20个秘诀(十三)[20 Recipes for Programming MVC 3]:实现Ajax增强用户体验议题单击链接的时候,由于网页刷新内容需要重新加载,会感觉整个过程变的非常缓慢,尤其在我们只需要更新少量内容的时候感觉更加明显。解决方案修改之前的示例,将Html.ActionLink创建的链接更改为由Ajax辅助类Ajax.ActionLink创建,使链接点击时只加载需要改变的内容。讨论MVC框架提供了几个非常棒的辅助类。在目前为止本书使用最后的就是HtmlHelper类,几乎之前所有的视图类都至少使用过一次。在这个秘诀中,将使用AjaxHe 阅读全文
-
mvc3
摘要:C H A P T E R 13■ ■ ■Filters过滤器Filters inject extra logic into the request processing pipeline. They provide a simple and elegant way to implement cross-cutting concerns. This term refers to functionality that is used all over an application and doesn’t fit neatly into any one place, so it would bre 阅读全文