跟我学ASP.NET MVC之十一:URL路由

摘要: 在MVC框架之前,ASP.NET假定在请求的URLs和服务器硬盘文件之间有直接的关系。服务器的职责是接收浏览器请求,从相应的文件发送输出。 这种方法只能工作于Web表单,每一个ASPX页面既是一个文件,也是一个对应请求的自包含响应。而这对于MVC应用程序来说就无效了,因为请求是由控制器类里的 ... »

跟我学ASP.NET MVC之八:SportsStrore移动设备

现在的web程序开发避免不了智能手机和平板电脑上的使用,如果你希望发布你的应用程序给更广大客户使用的话,你将要拥抱可移动web浏览器的世界。向移动设备用户发布一个好的使用体验是很困难的-比只是发布桌面内容要难得多。它需要认真的计划,设计以及大量的测试。甚至很容易被新的移动设备或平板电脑困住。 ... »

ASP.NET MVC5 Forms登陆+权限控制(控制到Action)

一、Forms认证流程 请先参考如下网址: http://www.cnblogs.com/fish-li/archive/2012/04/15/2450571.html 本文主要介绍使用自定义的身份认证表示来实现认证 二、自定义的身份认证主要流程 主要代码如下: 1..登录验证完用户名和密码后写入C ... »

jquery ajax file upload NET MVC 无刷新文件上传

jquery ajax file upload NET MVC 无刷新文件上传 网上有各种各样的文件上传方法,有基于JS框架的、也有基于flash swf插件的。 这次分享一个比较简单而且实用能快速上手的文件上传方法,主要步骤: 1.引用Jquery包,我用的是jquery-1.11.3.mi... ... »

ASP.NET MVC编程——单元测试

1自动化测试基本概念 自动化测试分为:单元测试,集成测试,验收测试。 单元测试 检验被测单元的功能,被测单元一般为低级别的组件,如一个类或类方法。 单元测试要满足四个条件:自治的,可重复的,独立的,快速的。 自治的是指:关注于验证某个单一功能,例如只关注于类的某个方法的功能。 可重复的是指:无论何时 ... »

ASP.NET MVC编程——缓存

Web缓存分为服务端缓存和客户端缓存。 1 服务端缓存 1.1请求域内的缓存:HttpContext.Items 类型: HttpContext.Items的类型为IDictionary,且键和值都是object类型 访问性: 只存在于当前请求范围内。 例: 1.2用户域内的缓存:HttpConte ... »

ASP.NET MVC编程——错误处理与日记

ASP.NET MVC的错误处理应考虑到这几个方面:模型绑定期间发生的错误,未能路由到指定操作,针对控制器的错误处理。使用配置文件可以帮助我们处理异常,但是不够灵活和全面;使用HandleErrorAttribute、自定义错误过滤器或重写控制器OnException方法只能解决针对控制器的错误,无 ... »

ASP.NET MVC编程——路由

框架自动生成的路由配置 上图中,路由配置文件为App_Start文件夹下的RouteConfig.cs。 代码如下: 注意:路由中的控制器和操作不区分大小写。 忽略路由 IgnoreRoute为RouteCollection 的扩展方法,作用是忽略指定样式的路由。 上面routes.IgnoreRo ... »

ASP.NET MVC编程——模型

1 ViewModel 是一种专门提供给View使用的模型,使用ViewModel的理由是实体或领域模型所包含的属性比View使用的多或少,这种情况下实体或领域模型不适合View使用。 2模型绑定 默认模型绑定器 通过DefaultModelBinder解析客户端传来的数据,为控制器的操作参数列表赋 ... »

ASP.NET MVC编程——验证、授权与安全

1 验证 一般采用表单验证完成登陆验证,建议结合SSL使用。为限制控制器只能执行HTTPS,使用RequireHttpsAttribute 2 授权 对账户的权限的控制可以通过在控制器或控制器操作上加AuthorizeAttribute 属性。 扩展授权过滤器 扩展授权过滤器可以定义继承自Autho ... »

ASP.NET MVC编程——控制器

每一个请求都会经过控制器处理,控制器中的每个方法被称为控制器操作,它处理具体的请求。 1操作输入参数 控制器的操作的输入参数可以是内置类型也可以是自定义类型。 2操作返回结果 结果类型 调用方法 备注 ContentResult Content 文本类型 FileContentResult/File ... »

ASP.NET MVC编程——视图

1Razon语法 使用@符号后接C#或VB.NET语句的方式。 基本规则 1)变量 @后直接变量即可 2)代码块 为使用表达式或多行代码,@后跟大括号将多行代码包括在大括号中 3)“+” 对于加号连接的两个字符串变量或属性,使用小括号将他们括起来 4)插入HTML或文字 每一行前面加上“@:” 5) ... »

Asp.net mvc 5 razor

一开始学习dotnet的web项目是Asp.net webform,完全不理解项目为什么要这样设计,就简单的使用ajax调用后台的代码不好吗?为什么还要搞一些什么代码后置的东东。 还有就是有各种加载问题,比如一个页面在后台文件中继承了PageBase,你总得要为这个加载顺序忙上一段时间,好烦。 As ... »

微信支付退款中发现的一个问题

小弟,在微信支付退款中发现了一个问题 当微信支付(通过接口)支付成功后,微信官方文档说是可以分多次退款的,可是当首次退款(通过接口)是成功的,当第二次(通过接口)退款时,微信返回“订单不存在”。 上图是我在微信支付(pay.weixin.qq.com)查询到的。 上图是我在第二次(通过接口)退款时, ... »

ASP.NET MVC应用安全性(一)——自定义处理错误

很多 ASP.NET MVC 开发者都会写出高性能的代码,很好地交付软件,等等。但是却并没有安全性方面的计划。 有一种攻击是攻击者截获最终用户提交的表单数据,将其改变再将修改后的数据发送到服务器。 对于这种情况,开发者需要进行适当的验证,不过验证显示的大量错误信息中可能会泄漏服务器信息。 如常见的4 ... »

ASP.NET与ASP.NET MVC 的差异、优点及缺点

众所周知,在微软的编程语言发展历史中,asp.net是不得不提的一个重要的发展阶段,它具有快速开发、层级明确的优点,但最大的缺点,同时也是它逐渐被废弃的原因就是,页面加载的viewstate过于庞大,如下图所示 ,仅一个单纯的详情页面所加载的VIEWstate就有如此之多,可想而知,页面的加载效率也 ... »