随笔分类 - [61]MVC
-
How ASP.NET MVC Works?[持续更新中…]
摘要:一、ASP.NET + MVCIIS与ASP.NET管道MVC、MVP以及Model2[上篇]MVC、MVP以及Model2[下篇]ASP.NET MVC是如何运行的[1]: 建立在“伪”MVC框架上的Web应用ASP.NET MVC是如何运行的[2]: URL路由ASP.NET MVC是如何运行的(3): Controller的激活ASP.NET MVC是如何运行的(4): Action的执行二、URL 路由ASP.NET的路由系统:URL与物理文件的分离ASP.NET的路由系统:路由映射ASP.NET的路由系统:根据路由规则生成URLASP.NET MVC路由扩展:路由映射ASP.NET 阅读全文
-
调试ASP.NET MVC网站性能
摘要:使用MiniProfiler调试ASP.NET MVC网站性能MVC MiniProfiler是Stack Overflow团队设计的一款对ASP.NET MVC的性能分析的小程序。可以对一个页面本身,及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的SQL(支持EF、EF CodeFirst等 )。并且以很友好的方式展现在页面上。该Profiler的一个特别有用的功能是它与数据库框架的集成。除了.NET原生的 DbConnection类,profiler还内置了对实体框架(Entity Framework)以及LINQ to 阅读全文
-
源码+幻灯片:学习HTML5/jQuery/ASP.NET MVC/EF Code First的绝佳资源Account at a Glance项目
摘要:Account at a Glance是由Dan Walin主持开发的一个Web应用程序,这是一个实际上线的产品,由真实的Team开发,并非是为了演示某些技术而做的Demo程序。前端基于HTML5+jQuery,后端基于ASP.NET MVC+EF Code First。前端使用了很多jQuery和HTML5的插件和库,实现多视图、拖拽、图表、视频等特性以及对老版本浏览器的支持。很好的展示了HTML5+js+CSS的客户端解决方案。虽然与Silverlight等基于浏览器插件的解决方案相比,未免显得繁琐,但毕竟这是“真正”地浏览器端应用,真正的跨平台跨浏览器:)本文源自作者博客Code and 阅读全文
-
使用Autofac在ASP.NET Web API上实现依赖注入
摘要:【原文】Dependency Injection in ASP.NET Web API using Autofac摘要在ASP.NET Web API里使用Autofac通过NuGet安装Autofac.WebApi。(当然要先安装Autofac.dll)。PM > Install-Package Autofac.WebApi引用如下命名空间。using Autofac;using Autofac.Integration.WebApi;复制代码再按照如下代码配置Autofac。 public static class Bootstrapper { public static... 阅读全文
-
通过一个简单的文章系统学习MVC3+Linq搭建网站--项目文件结构介绍(3)
摘要:通过一个简单的文章系统学习MVC3+Linq搭建网站:(1)数据库建模(2012-03-23 12:10)(2)如何利用系统自带的用户系统(2012-03-28 22:41)(3) 项目文件结构介绍(2012-04-04 15:41)源码数据库创建sql本示例DEMO下图是我们的项目资源文件,我大概标注了它们各自的角色作用。下面我分别对他们进行一些简单的说明:2,5,:存放一些网站资源文件,js等。1,一些常用工具类,比如json处理,分页类等。7,Global.asaxMVC中以前那套基于文件目录的URL没有了,MVC中的url则是基于我们的控制器Controller,以及控制器里的Acti 阅读全文
-
Contoso 大学 - 使用 EF Code First 创建 MVC 应用
摘要:Contoso 大学 Web 示例应用演示了如何使用 EF 技术创建 ASP.NET MVC 应用。示例中的 Contoso 大学是虚构的。应用包括了类似学生注册、课程创建以及教师分配等功能。这个系列教程展示了创建 Contoso 大学应用的步骤。你可以下载完整的程序,或者按照教程一步一步创建它,这个教程中使用 C# 进行演示,下载的代码中同时包含 C# 和 VB 实现。如果你有与这个教程没有直接相关的问题,可以张贴到ASP.NET Entity Framework forum 或者Entity Framework and LINQ to Entities forum.这个教程假设你知道如何使 阅读全文
-
ASP.NET MVC Controller激活系统详解:默认实现
摘要:Controller激活系统最终通过注册的ControllerFactory创建相应的Conroller对象,如果没有对ControllerFactory类型或者类型进行显式注册(通过调用当前ControllerBuilder的SetControllerFactory方法),默认使用的是一个DefaultControllerFactory对象,我们现在就来讨论实现在DefaultControllerFactory类型中的默认Controller激活机制。目录一、Controller类型的解析 实例演示:创建一个自定义ControllerFactory模拟Controller默认激活机制二、 C 阅读全文
-
ASP.NET MVC中Unobtrusive Ajax的妙用
摘要:Unobtrusive Javascript有三层含义:一是在HTML代码中不会随意的插入Javsscript代码,只在标签中加一些额外的属性值,然后被引用的脚本文件识别和处理;二是通过脚本文件所增加的功能是一种渐进式的增强,当客户端不支持或禁用了Javsscript时网页所提供的功能仍然能够实现,只是用户体验会降低;三是能够兼容不同的浏览器。启用Unobtrusive Javascript的步骤:1.在web.config文件中加入<configuration> <appSettings> <add key="ClientValidationEnabl 阅读全文
-
Asp.net MVC3
摘要:Asp.net MVC前两年就听说了,但一直没有去用,中间只是粗略的了解了下,在前段时间做的栏目改版时才真正的去学习和使用——刚开始学,对其'路由'和请求解析执行的过程感觉比较神秘,但随着项目中的应用、功能的逐一实现,发现所谓的Asp.net MVC也就那样,清楚了核心的几点东西,就可以比较'得心应手'的玩转了。这篇博客就是要跟大家分享下:我所了解的Asp.net MVC和如何灵活使用! 本文目录:什么是ASP.NET MVCAsp.net MVC与传统WebForm的主要区别创建一个MVC应用程序并运行Controller,Model,View的介绍及关联Gl 阅读全文
-
微软开放ASP.NET MVC 4、Web API和Web Pages v2的源代码
摘要:微软 ASP.NET 项目经理 Scott Hanselman 今天在博客中宣布,微软在 Apache 2.0 许可证下,开源了 ASP.NET MVC 4、ASP.NET Web API 和 ASP.NET Web Pages v2 (Razor)。源码发布在微软的开源项目托管网站 CodePlex 中。 ASP.NET MVC 是微软官方提供的一个以 MVC 模式编写 ASP.NET Web 应用程序的框架,该框架提供了一个可以代替 ASP.NET Web 窗体的基于 MVC 的应用。 Scott 称,虽然 ASP.NET MVC 自推出以来,就已经开放了源码,但是社区中的开发者不能参.. 阅读全文
-
ASP.NET MVC路由扩展:链接和URL的生成
摘要:ASP.NET 路由系统通过注册的路由表旨在实现两个“方向”的路有功能,即针对入栈请求的路由和出栈URL的生成。前者通过调用代表全局路由表的RouteCollection对象的GetRouteData方法实现,后者则依赖于RouteCollection的GetVirtualPathData方法,而最终还是落在继承自RouteBase的路由对象的同名方法的调用上。为了编程的方面,ASP.NET MVC为了设计了HtmlHelper和UrlHelper这两个帮助类,我们可以通过调用它们的ActionLink/RouteLink和Action/RouteUrl根据注册的路有规则生成链接或者URL。从 阅读全文
-
Asp.net MVC 3 Framework 第十七章 模型绑定
摘要:有人已经在翻译这本书了,好像翻译到了第16章,等第17章没等到,自己译出来看看。只为自己学习使用。不对的地方大家多批评。谢谢。第十七章 模型绑定模型绑定是实用浏览器发送的数据请求创建.net对象的过程。每次我们定义了一个带有参数的action方法时我们都依赖了模型绑定过程——参数对象是被模型绑定创建的。在本章我们将给你展示模型绑定系统怎样工作,并展示要求自定义他的这些技术的高级应用。理解模型绑定设想我们在Controller中定义了像清单17-1展示的一个action方法。清单17-1 A Simple Action Methodusing System.Web;using System.We 阅读全文
-
通过一个简单的文章系统学习MVC3+Linq搭建网站(1)
摘要:通过一个简单的CMS文章系统,来学习MVC3+LINQ网站搭建。第一篇: 数据库建模文章分类信息Category存储为json文本。一个article文章表,一个users用户表。一个文章信息视图varticle(1)文章分类信息:很多网站分类信息的改动其实很少,所以这里索性存储为文本的格式。分类信息通常不会有太多数据,修改也很直观。数据格式:[{"Cateid":1,"CateName":"Item01","IsList":0,"OrderId":1,"ReplyPermit&quo 阅读全文
-
ASP.NET MVC3开发中遇到问题以及解决方法
摘要:1.手写Model类,EF执行错误找不到表对象。[TableAttribute("ProductEntity")]public class ProductEntity{}复制代码2.加载不同的Layout,在_ViewStart.cshtml中添加逻辑@{if (Request.Url.AbsoluteUri.Contains("Manage")) { Layout = "~/Views/Shared/_MLayout.cshtml"; }else{ Layout = "~/Views/Shared/_LayoutLogin 阅读全文
-
Asp.net MVC 基于规则的权限设计(续)-- 扩展微软企业库安全模块
摘要:Asp.net MVC 基于规则的权限设计(续)-- 扩展微软企业库安全模块在上篇讲Asp.net MVC权限设计的文章中,利用了微软企业库的安全模块。该设计可以适用于其他winform,asp.net程序。http://www.cnblogs.com/huyq2002/archive/2012/01/17/2324609.html但是它有一个问题,所有规则都保存在配置文件-web.config或app.config中。在生产环境中,系统需要从数据库中加载规则,并允许在运行时修改安全规则。下面详细绍如何扩展安全模块 Microsoft Enterprise Library Security A 阅读全文
-
Web API 依赖注入与扩展
摘要:依赖注入与 MVC 类似, Web API 提供了System.Web.Http.Services.IDependencyResolver 接口来实现依赖注入, 我们可以很容易的用 Unity 来实现这个接口:?12345678910111213141516171819public class UnityDependencyResolver : IDependencyResolver {private readonly IUnityContainer _container;public UnityDependencyResolver(IUnityContainer container) {th 阅读全文
-
《Pro ASP.NET MVC 3 Framework》学习笔记之二十五
摘要:过滤器(Filters)过滤器(Filters)向请求处理管道注入了额外的逻辑。他们提供了一种简单而优雅的方式实现了横切关注点,这个术语是针对整个应用程序使用的功能,并不能灵活的适用任何一个点,所以这个会打破分解关注点的模式。像日志,验证和缓存都是经典的横切关注点的例子。之所以称为过滤器(Filters),是因为这个术语同样应用于其他web应用程序框架里面,包括Ruby on Rails。然而,MVC框架里面的过滤器完全不同于ASP.NET平台里面的Request.Filters和Response.Filter对象,这两个对象是实现请求和响应流的传输(一种高级的并很少发生的活动)。当然,我们能 阅读全文
-
Html.RenderPartial和Html.Partial在Razor视图中的区别
摘要:两者都可以输出一个Partial视图;其区别如下:1. Partial有返回值(MvcHtmlString);RenderPartial没有返回值(Void)。 1//PartialExtensions.Partial方法(HtmlHelper,String)2publicstaticMvcHtmlStringPartial(3thisHtmlHelperhtmlHelper,4stringpartialViewName5)67//RenderPartialExtensions.RenderPartial方法(HtmlHelper,String)8publicstaticvoidRenderP 阅读全文
-
ASP.NET的路由系统:路由映射
摘要:总的来说,我们可以通过RouteTable的静态属性Routes得到一个基于应用的全局路由表,通过上面的介绍我们知道这是一个类型的RouteCollection的集合对象,我们可以通过调用它的MapPageRoute进行路由映射,即注册URL模板与某个物理文件的匹配关系。路由注册的核心就是在全局路由表中添加一个Route对象,该对象的绝大部分属性都可以通过MapPageRoute方法的相关参数来指定。接下来我们通过实现演示的方式来说明路由注册的一些细节问题。目录一、变量默认值二、约束三、对现成文件的路由四、注册路由忽略地址五、直接添加路由对象我们已前面介绍的关于获取天气预报信息的路由地址,我们 阅读全文
-
好书推荐《Pro ASP.NET MVC 3 Framework 3rd Edition》
摘要:花了两个多星期的时间,从头到尾看了一遍,看此书如沐甘霖,绝对是一本好书。第4章讲的非常精辟,先介绍了架构模式的演化历史,从Smart UI, Model-View, Three-Tier到MVC;并比较了与Model-View-Presenter和Model-View-View Model的区别。然后介绍了领域驱动(Domain-Driven Development)、依赖注入(Dependency Injection)和单元测试(Unit Testing),再后面的章节中贯彻了这三种思想并用在了实例中。第6章介绍的Nject和Moq工具以前也没用过,再不用的话就会感觉很落后。第11至20章是 阅读全文