随笔分类 - [61]MVC
-
Asp.net MVC4.0(net4.5) 部署到window server 2003上的解决方案
摘要:Asp.net MVC4.0(net4.5) 部署到window server 2003上的解决方案最近做了一个Web项目,也没多想就用了Asp.net MVC4.0 ,MVC4.0默认的目标framework是4.5版本,等开发完毕才发现,将要部署的现有服务器是Window server 2003,没有window 2008。但是Net Framework4.5是不支持安装在window server 2003上。这中间还去机房折腾过,折腾的事情就不说了。今天早上来公司就开始研究如何把Asp.net MVC4.0 (Net Framework4.5)部署到现在有window server 2 阅读全文
-
Asp.net MVC的Model Binder工作流程以及扩展方法(1)
摘要:Asp.net MVC的Model Binder工作流程以及扩展方法(1)2014-03-19 08:02 by JustRun,523阅读,4评论,收藏,编辑在Asp.net MVC中, Model Binder是生命周期中的一个非常重要的部分。搞清楚Model Binder的流程,能够帮助理解Model Binder的背后发生了什么。同时该系列文章会列举MVC中Model Binder的扩展点,以及如何使用这些扩展点。阅读目录:一.MVC中的Model Binder的工作流程二.继承IModelBinder, 实现CustomeBinder三.使用Custom Model Binder的弊 阅读全文
-
MVC 在控制器中获取某个视图动态的HTML代码
摘要:ASP.NET MVC 在控制器中获取某个视图动态的HTML代码如果我们需要动态的用AJAX从服务器端获取HTML代码,拼接字符串是一种不好的方式,所以我们将HTML代码写在cshtml文件中,然后通过代码传入model,动态获取cshtml中的HTML代码当然,我们想要使用通用的方法去获取cshtml,就必须重写RazorViewEngine视图引擎,配置视图搜索位置在查找一个视图时,Razor视图引擎遵循了MVC框架早期版本建立起来的约定。例如,如果你请求与Home控制器相关的Index视图,Razor会审查这样的视图列表:~/Views/Home/Index.cshtml● ~/View 阅读全文
-
如果调用ASP.NET Web API不能发送PUT/DELETE请求怎么办?
摘要:如果调用ASP.NET Web API不能发送PUT/DELETE请求怎么办?理想的RESTful Web API采用面向资源的架构,并使用请求的HTTP方法表示针对目标资源的操作类型。但是理想和现实是有距离的,虽然HTTP协议提供了一系列原生的HTTP方法,但是在具体的网络环境中,很多是不支持的。比如有的浏览器只能发送GET和POST请求,客户端发送的PUT请求也不一定能够被服务器理解。除了客户端和服务器对请求采用的HTTP方法的制约外,像代理(Proxy)、网关(Gateway)等这些中间部件都具有针对HTTP方法的限制。[本文已经同步到《How ASP.NET Web API Works 阅读全文
-
ASP.NET MVC实现POST方式的Redirect
摘要:ASP.NET MVC实现POST方式的Redirect我们知道,在ASP.NET MVC中,要从一个Action跳转到另一个Action,通常是用一系列以“Redirect”开头的方法RedirectRedirectToActionRedirectToRoute之类的。但是使用Redirect系列的方法进行跳转时,默认是使用GET方法的,也就是说,如果你的跳转请求带有参数,那么这些参数将全部暴露在跳转后的url中,增加了不安全性(特别是如果参数中包含密码、密钥等等敏感数据)于是就想到了用POST方法传递数据,这样至少一般的访问者无法从url中获取敏感信息。但是仔细查阅了MSDN和StackO 阅读全文
-
Asp.Net MVC 上传图片到数据库
摘要:【读书笔记】Asp.Net MVC 上传图片到数据库(会的绕行) 之前上传图片的做法都是上传到服务器上的文件夹中,再将url保存到数据库。其实在MVC中将图片上传到数据库很便捷的事情,而且不用去存url了。而且这种方式支持ie6(ie6不支持jquery自动提交form,认为其不安全,这里form是主动点击提交的,所以就没有这个问题,而uploadify自动提交是flash的方式)。一、建立模型 场景是假设我们需要给一个Product编辑一张图片。在模型中,先定义好两个属性,ImageData和ImageType public class Product { [Hidde... 阅读全文
-
从Script到Code Blocks、Code Behind到MVC、MVP、MVVM
摘要:从Script到Code Blocks、Code Behind到MVC、MVP、MVVM刚过去的周五(3-14)例行地主持了技术会议,主题正好是《UI层的设计模式——从Script、Code Behind到MVC、MVP、MVVM》,是前一天晚上才定的,中午花了半小时准备了下就开讲了。今天看到了大家在为MVVM knockout.js友(ji)好(lie)地交流,所以就整理下然后更扩展地分享。主要目的也不是为了争论,毕竟只是正巧主题相近,原本的打算也就是一次技术分享并且记录下来。那么我们就按照大致的历史进程将这些概念进行划分:ScriptCode Blocks、Code BehindMVC、M 阅读全文
-
用MVC+EF快速弄出一个CRUD
摘要:瞧一瞧,看一看呐,用MVC+EF快速弄出一个CRUD,一行代码都不用写,真的一行代码都不用写!!!!现在要写的呢就是,用MVC和EF弄出一个CRUD四个页面和一个列表页面的一个快速DEMO,当然是在不写一行代码的情况下.因为VS是这个做到这个的.条件呢,你需要一个VS2012或者VS2013和一个打开的数据库.至于2010可不可以,这个我尚不可知.这篇文章呢,有点长,主要是图,可以让一个没有接触过EF的人看我的图就可以弄一个DEMO出来了且一行代码都不用敲,个人认为能做到不敲代码而弄出这个的一个DEMO来倒并不是难事,点点几下也就可以了,最主要的是能做出来然后参透其中代码的意思,比如一些HTM 阅读全文
-
一个ASP.NET Web API 2.0应用
摘要:在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET MVC的书籍“额外奉送”的),以至于很多人会觉得ASP.NET Web API仅仅是ASP.NET MVC的一个小小的扩展而已,自身并没有太多“大书特书”的地方。而真实的情况下是:ASP.NET Web API不仅仅具有一个完全独立的消息处理管道,而且这个管道比为ASP.NET MVC设计的管道更为复杂,功能也更为 阅读全文
-
ModelBinder——ASP.NET MVC Model绑定的核心
摘要:ModelBinder——ASP.NET MVC Model绑定的核心Model的绑定体现在从当前请求提取相应的数据绑定到目标Action方法的参数。通过前面的介绍我们知道Action方法的参数通过ParameterDescriptor来描述,ParameterDescriptor的BindingInfo属性表示的ParameterBindingInfo对象具有一个名为ModelBinder的组件用于完成针对当前参数的Model绑定。ModelBinder可以看成是整个Model绑定系统的核心,我们先来认识这个重要的组件。[本文已经同步到《How ASP.NET MVC Works?》中]目录 阅读全文
-
Asp.Net MVC3.0网站统计登录认证的在线人数
摘要:Asp.Net MVC3.0网站统计登录认证的在线人数前言 对于一个网站来说,统计在线人数是一个很重要的工作。平时也发现很多的网站论坛等都有在线人数的显示。对于一个网站如果在线人数很多,用户看到了这么个数字也是很了不起的事情。由于之前对于这个知识点只是知道,并没有去了解过,这两天偶然的机会又看到了,于是自己整理了一个简单的版本,也方便让大家来给提提意见。 本文主要通过Application和Session全局来统计在线人数,暂时只统计登录验证过的。实现的大致方案如下: 1、在全局应用程序启动的时候,Application["count"]=0;初始化统计在线人数为0 2、处 阅读全文
-
MVC应用程序显示上传的图片
摘要:MVC应用程序显示上传的图片前两篇《MVC应用程序实现上传文件》http://www.cnblogs.com/insus/p/3590907.html和《MVC应用程序实现上传文件(续)》http://www.cnblogs.com/insus/p/3594834.html,我们练习了上传文件,当然上传图片也是一样。此篇我们练习,怎样在MVC应用程序中显示用户上传的图片。为了接近更真实的练习,Insus.NET决定对以前的程序修改一下,就是上传的目录把原来的Temp目录改为UploadFiles目录。也就是说,Temp目录保留,在应用程序中,添加多一个UploadFiles目录。再对原来的mo 阅读全文
-
MVC使用RDL报表
摘要:MVC使用RDL报表这次我们来演示MVC3怎么显示RDL报表,坑爹的微软把MVC升级到5都木有良好的支持报表,让MVC在某些领域趋于短板我们只能通过一些方式来使用rdl报表。Razor视图不支持asp.net服务器控件,但是aspx可以,所以用户其实可以通过aspx视图模版来显示rdl报表或者水晶报表。我是有强迫症的人,我不喜欢在众多razor视图中,让aspx视图鹤立鸡群,所以这节主要是演示rdl在MVC中其中一种用法。报表都有相似性 数据源-数据集-图表-表组成在MVC项目中新建一个数据源,这个数据源最后将由数据表、TableAdapter、查询、关系组成,新建后可以点击右键查看。这里我们 阅读全文
-
登陆页面改为SSO验证
摘要:登陆页面改为SSO验证单点登录(SSO,single sign-on)是一个会话或用户身份验证过程,用户只需要登录一次就可以访问所有相互信任的应用系统,二次登录时无需重新输入用户名和密码。简化账号登录过程并保护账号和密码安全,对账号进行统一管理。详细讲解可以参考:http://www.blogjava.net/Jack2007/archive/2008/04/10/191795.html具体实现:1,添加SingleSingOn.cs(这个cs文件可以网上下载,然后SSOHost更改为自己的地址)2,Controller中添加Login方法: SingleSingOn sso = new S. 阅读全文
-
验证API
摘要:验证API本篇定位在数据入口的验证普通的DataAnnotation验证基于场景的DataAnnotation验证可修改的外置式DataAnnotation验证SUMMARY最终调用时的用法:class Program { static void Main(string[] args) { A2DFramework.Starter.Init(); A2DFramework.RuleEngine.Starter.Init(); A2DFramework.BusinessExceptionServi... 阅读全文
-
操作系统进程压榨案例
摘要:SQL Server内存遭遇操作系统进程压榨案例场景: 最近一台DB服务器偶尔出现CPU报警,我的邮件报警阈(请读yù)值设置的是15%,开始时没当回事,以为是有什么统计类的查询,后来越来越频繁。探索: 我决定来查一下,究竟是什么在作怪,我排查的顺序如下: 1、首先打开Cacti监控,发现最近CPU均值在某天之后骤然上升,并且可以看到System\Processor Queue Length和sqlservr\%ProcessorTime也在显著的变化。 2、从最容易入手的低效SQL开始,考虑是不是最近业务做了什么修改?连接到该SQL实例,打开活动监视器,展开“最近耗费大量资源的查. 阅读全文
-
查询功能
摘要:查询功能ASP.NET MVC 学习4、Controller中添加SearchIndex页面,实现简单的查询功能参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-edit-methods-and-edit-view本文内容:1,熟悉MVC的路由过程,URL如果导向到Controller相应的方法中2,新增SearchIndex页面,实现简单的查询功能http://localhost:9898/Movies,鼠标移动到”Edit”上面的时候,我们看到Edit将要导向的路 阅读全文
-
Attribute Routing
摘要:Attribute Routing系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html题外话:由于这个技术点是新学的,并不属于原系列,但借助了原系列的项目背景,故命名外传系列,以后也可能在这个系列中附加一些新的技术。前言在Web Api 2.0中,提出了一种新的配置路由方式——基于特性的路由(Attribute-based Routing),在我们之前介绍的配置路由方式称为——基于公约的路由(Convention-based Routing),新的路由配置方式同样应用在MVC5中,因此本文就来介绍一下基于特性的路由。在之前的一篇文章中,我们处理了 阅读全文
-
自定义验证特性
摘要:自定义验证特性在项目的实际使用中,MVC默认提供的Validation Attribute往往不够用,难以应付现实中复杂多变的验证需求。比如, 在注册用户的过程中,往往需要用户勾选”免责声明”,这个checkbox往往是必填项,但是MVC中并没有提供对于checkbox必选的验证。这篇文章通过解决checkbox必选验证的问题,看看如何在MVC中定义自己的自定义验证属性。阅读目录:一.CheckBox必选验证的困局二.对于服务端ValidationAttribute的实现分析三.自定义EnforceTrueAttribute实现服务器端验证四.添加客户端验证五.总结一, CheckBox必选验 阅读全文
-
MVC ValidationAttribute 服务器端自定义验证
摘要:MVC ValidationAttribute 服务器端自定义验证客户端验证上文只说了客户端的自定义验证,这样对于用户的输入还是不够可靠,用户完全可以绕过我们定义的客户端验证。所以仅有客户端的验证还是不够的,我们还需要在服务器端进行再次验证。ValidationAttribute服务端验证要继承自ValidationAttribute,并重写IsValid虚方法来自定义自己的验证规则,ValidationAttribute声明大致如下public abstract class ValidationAttribute : Attribute{//验证失败提示消息public virtual st 阅读全文