随笔分类 - [61]MVC
-
如何将 Area 中的 Controller 放到独立的程序集?
摘要:目录背景如何将 Area 中的 Controller 放到独立的程序集?备注背景返回目录本文假设您已经熟悉了 ASP.NET MVC 的常规开发方式、执行模型和关键扩展点,这里主要说一下如何使用 ASP.NET MVC 的源代码解决一些问题。如何将 Area 中的 Controller 放到独立的程序集?返回目录为了更好的组合代码,我们都会使用 Area 划分我们的项目,也会把 Controller 移动到独立的程序集,多数情况这回导致问题。项目结构问题出现在哪里了?初步原因分析是 DefaultController 的 Namespace 不匹配 TestAreaRegistration 的 阅读全文
-
URL Routing
摘要:URL Routing我们知道在ASP.NET Web Forms中,一个URL请求往往对应一个aspx页面,一个aspx页面就是一个物理文件,它包含对请求的处理。而在ASP.NET MVC中,一个URL请求是由对应的一个Controller中的Action来处理的,由URL Routing来告诉MVC如何定位到正确的Controller和Action。笼统的讲,URL Routing包含两个主要功能:解析URL 和生成URL,本文将围绕这两个大点进行讲解。本文目录1. URL Routing 的定义方式2. 示例准备3. 给片段变量定义默认值4. 定义静态片段5. 自定义片段变量 自定义片. 阅读全文
-
ASP.NET MVC的过滤器
摘要:ASP.NET MVC的过滤器APS.NET MVC中(以下简称“MVC”)的每一个请求,都会分配给相应的控制器和对应的行为方法去处理,而在这些处理的前前后后如果想再加一些额外的逻辑处理。这时候就用到了过滤器。 MVC支持的过滤器类型有四种,分别是:Authorization(授权),Action(行为),Result(结果)和Exception(异常)。如下表,过滤器类型接口描述AuthorizationIAuthorizationFilter此类型(或过滤器)用于限制进入控制器或控制器的某个行为方法ExceptionIExceptionFilter用于指定一个行为,这个被指定的行为处理.. 阅读全文
-
公众平台Bee.WeiXin
摘要:微信公众平台Bee.WeiXin开发介绍阅读目录开始预览配置项说明调用链方式的应答理解调用链上下文自定义MVC响应总结我们来看一下如何通过Bee.WeiXin开发微信公众平台。关于微信公众平台的一般性介绍, 这里不做展开。 园里找一找就可以了。 本文主要是介绍Bee.WeXin, 代码已发布到https://beeweixin.codeplex.com/上了。BeeWeiXin 是针对腾讯的微信公众平台开发一个开发框架。 该项目是基于Bee OPOA Platform开发的。包含了以下功能:1. 基于调用树的微信答复模型。 调用树支持多级(有上下文)响应, 可以通过 文本, 图文, 自定义三种 阅读全文
-
Router
摘要:backbone库学习-Routerbackbone库的结构http://www.cnblogs.com/nuysoft/archive/2012/03/19/2404274.html本文的例子来自http://blog.csdn.net/eagle_110119/article/details/8842032Backbone.Router担任了一部分Controller(控制器)的工作,它一般运行在单页应用中,能将特定的URL或锚点规则绑定到一个指定的方法(后文中称Action)。当我们开发一个单页应用时,常常会遇到这样两个问题: 我们在同一个页面中通过用户的操作来隐藏、显示HTML块,为. 阅读全文
-
ASP.NET MVC企业开发的基本环境
摘要:ASP.NET MVC企业开发的基本环境[资源服务器概念]学完了ASP.NET MVC4 IN ACTION 六波以后 企业开发演习标签:AaronYang 茗洋 EasyUI1.3.4 ASP.NET MVC 3本篇博客地址:http://www.cnblogs.com/AaronYang/p/3324014.html开发准备(AaronYang原味)1你需要从EasyUI官网下载最新的EasyUI,我用的是EasyUI 1.3.4 (百度云下载)你可以从这里进入官网下载2既然是觉得有企业味道,公司发布产品使用最后都是通过域名访问我们做的产品,为了模拟域名的访问模式,我们需要修改host,这 阅读全文
-
使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑
摘要:翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑Part 3: 设计逻辑层:核心开发如前所述,我们的解决方案如下所示:下面我们讨论整个应用的结构,根据应用中不同组件的逻辑相关性,分离到不同的层中,层与层之间的通讯通过或者不通过限制。分层属于架构风格,在应用的长时间生命周期中,解决维护和扩展问题。所以,让我们在解决方案中添加一个类库项目,命名为 Application.Common.Application.Common :这是一个类库项目, 提供公共功能,可以被不同的业务逻辑层使用。例如:安全,日志,跟踪,验 阅读全文
-
ASP.NET Web API 2.0新特性:Attribute Routing1
摘要:ASP.NET Web API 2.0新特性:Attribute Routing[上篇]对于一个针对ASP.NET Web API的调用请求来说,请求的URL和对应的HTTP方法的组合最终决定了目标HttpController的类型和定义其中的目标Action方法。两者之间的映射是通过URL路由来完成的,ASP.NET Web API路由系统提供了一种便捷的方式使我们可以在统一的地方注册适用于所有HttpController的路由。如果我们能够直接针对目标Action方法进行路由注册,那么我们就能够对路由规则进行细粒度的控制。从设计角度来讲,Web API采用REST架构风格,其URL更多是对 阅读全文
-
ASP.NET Web API是如何根据请求选择Action的?[下篇]
摘要:ASP.NET Web API是如何根据请求选择Action的?[下篇]再《上篇》中我们简单介绍了用于实现Action选择机制的HttpActionSelector,接下来我们来讨论本章最为核心的内容:ASP.NET Web API如何利用HttpActionSelector(以默认的使用的ApiControllerActionSelector为例)在目标HttpController成功激活之后如何从中选择出匹配的Action方法来处理当前的请求。[本文已经同步到《How ASP.NET Web API Works?》]目录候选的Action列表针对HttpRouteData中的Action名 阅读全文
-
ASP.NET Web API是如何根据请求选择Action的?[上篇]
摘要:ASP.NET Web API是如何根据请求选择Action的?[上篇]Web API的调用请求总是针对定义在某个HttpController中的某个Action方法,请求响应的内容来源于调用目标Action方法的执行结果。当ASP.NET Web API为当前请求成功激活目标HttpController之后,后续的操作就是为请求在该HttpController中选择出对应的Action方法。[本文已经同步到《How ASP.NET Web API Works?》]HttpActionSelector在对用于描述定义在HttpController中的Action方法的HttpActionDes 阅读全文
-
ASP.NET MVC 用户登录Login
摘要:ASP.NET MVC 用户登录Login一.先来看个框架例子:(这个是网上收集到的)第一步:创建一个类库ClassLibrary831。 第二步:编写一个类实现IHttpModule接口class TestModule:IHttpModule { public void Dispose() { } public void Init(HttpApplication context) { } } 第三步:在Init事件中注册EndRequest事件,并实现事件处理方法class TestModule:IHttpModule { public void Dispose(){} public voi 阅读全文
-
asp.net mvc异步查询
摘要:对于asp.net mvc异步查询如何做MVC异步查询,做列表页面。 查询是项目中必不可少的工作,而且不同的项目不同的团队,都有自己的简单方法。Asp.net mvc有自己独特的优势,下面是结合mvc实现一个产品列表的Demo.问题描述对于一些列表页面,保持一致的查询代码。解决方案1.依赖文件jquery.js、jquery.unobtrusive-ajax.js。 2.创建部分视图,PartialView主要存放服务器发送过来的数据。 3.一个包含集合数据的viewmodel. 4. 部分视图代码基本如下: View Code@model IList@foreach (De... 阅读全文
-
HttpActionDescriptor,ASP.NET Web API又一个重要的描述对象
摘要:HttpActionDescriptor,ASP.NET Web API又一个重要的描述对象通过前面对“HttpController的激活”的介绍我们已经知道了ASP.NET Web API通过HttpControllerDescriptor来描述HttpController。对于定义在HttpController中的每一个Action方法则通过一个类型为HttpActionDescriptor的对象来描述,Action方法基本的元数据信息可以在对应的HttpActionDescriptor对象中找到。[本文已经同步到《How ASP.NET Web API Works?》]目录HttpAct 阅读全文
-
灵活的路由(上)
摘要:灵活的路由(上)在上一篇关于管线的随笔中已经提及了管线,通过对管线的分析,我们可以得到下面几个结论:路由系统由URLRoutingModule模块实现,它订阅了PostResolvRequestCache事件;路由系统通过查阅路由并尽可能的通过RemapHandler方法,确定excuteHandler阶段执行的IHttphandler。这一篇随笔想详细谢谢路由的定义、注册和导航的具体过程。 路由系统的导航过程定义于URLRoutingModule,具体实现如下:View Codepublic virtual void PostResolveRequestCache(HttpContextB. 阅读全文
-
WebForms vs. MVC
摘要:[译]WebForms vs. MVC(推荐阅读)正文如下=======================================================原文示例(VS2012):1.Download Simple WebForm demo - 6.7 KB2.Download Simple MVC Demo demo - 1.5 MB介绍我做为一名ASP.NET开发人员已经有很长时间了,并且我非常乐意使用ASP.NET Web Forms开发web应用程序。在2008年,Microsoft首次发布ASP.NET MVC框架。我非常惊讶“为什么需要另一个ASP.NET技术框架”并 阅读全文
-
ASP.NET 4.5 Bundle组件(捆绑、缩小静态文件)
摘要:阅读目录:1.开篇介绍2.System.Web.Optimization 组件3.System.Web.Optimization 组件基本原理4.扩展自定义类型静态文件1】开篇介绍这篇文章将简单的分析一下有关静态文件捆绑的ASP.NET组件System.Web.Optimization的运行原理及基本的缓存问题;在我们的项目里面充斥着很多静态文件,为了追求模块化、插件化很多静态文件都被设计成模块的方式或者被分解,在需要的时候在通过组合的方式在UI层上使用;这就带来一个问题,文件多了会影响浏览器加载页面的速度,而且由于浏览器的并发限制,对于并行的请求不是无限制的,所以捆绑静态文件的功能就产生;其 阅读全文
-
MVC4 + WebAPI + EasyUI + Knockout-授权代码维护
摘要:我的权限系统设计实现MVC4 + WebAPI + EasyUI + Knockout(四)授权代码维护一、前言权限系统设计中,授权代码是用来控制数据访问权限的。授权代码说白了只是一树型结构的数据,没有什么其它的业务意义。那么这个页面的功能也就非常简单授权代码维护:新增、修改、删除授权代码数据。二、正文我们实际上就是要实现一个treegrid的增删改的功能,技术上很容易实现。1、新建控制器 PermissionControlle.cspublic class PermissionController : Controller{ public ActionResult Index() ... 阅读全文
-
序列化json对象,通过ajax传入asp.net mvc后台
摘要:序列化json对象,通过ajax传入asp.net mvc后台序列化json对象,通过ajax传入asp.net mvc后台今天遇到一个问题,准备把组织好的json对象通过jquery.ajax post方式传入asp.net mvc后台,谁知道一直接不到数据。很是郁闷,我以前都是这样传的啊。后台:前台:结果试了各种方式,实在传不过来,突然看了一下Request.Form的值tag=first&p[name]=yuxiang&p[age]=22啊啊啊,想到了我以前都是用form表单传的,用jquery传就把序列化成这个样子了,而正常的样子应该是 tag=first&p. 阅读全文
-
ASP.NET Web API 接口执行时间监控
摘要:序列化和反序列化的几种方式(JavaScriptSerializer 、XmlSerializer、DataContractSerializer)(一)JavaScriptSerializer 类为启用 AJAX 的应用程序提供序列化和反序列化功能。命名空间:System.Web.Script.Serialization程序集:System.Web.Extensions(在 System.Web.Extensions.dll 中)JavaScriptSerializer类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据。您无法访问序列化程序的此实例。但是,此类 阅读全文
-
基于Mvc3,Ef,领域驱动电子商务系统的EShop开发
摘要:基于Mvc3,Ef,领域驱动电子商务系统的EShop开发最近做了2个小型的电子商务系统,最近的一个是自己带的项目,由于功能比较简单,业务关系又不是很复杂,所以想依靠了解许久但不觉深入的“领域驱动”思想自己,做一个开发的架构,完成之后希望在这里做一个记录:今天只是个概述,希望以后有机会细致的展开。1.大家都比较喜欢直接看层次图:Domain.Entity存在上层领域比较关心领域实体,其中包含着自己的相应业务逻辑;Domain.Respository中包含系统的数据持久处理,Interface提供相应的仓储接口及所有仓储类需要集成的公共仓储BaseRespository,其中包含都需要的基本的增删 阅读全文