随笔分类 - Asp.Net MVC
Asp.Net MVC
摘要:前言 对于一个网站来说,统计在线人数是一个很重要的工作。平时也发现很多的网站论坛等都有在线人数的显示。对于一个网站如果在线人数很多,用户看到了这么个数字也是很了不起的事情。由于之前对于这个知识点只是知道,并没有去了解过,这两天偶然的机会又看到了,于是自己整理了一个简单的版本,也方便让大家来给提提意见。 本文主要通过Application和Session全局来统计在线人数,暂时只统计登录验证过的。实现的大致方案如下: 1、在全局应用程序启动的时候,Application["count"]=0;初始化统计在线人数为0 2、处理一个简单的Form登录认证,在登录的时候对全局变量A
阅读全文
摘要:前言Gzip最早由Jean-loup Gailly和Mark Adler创建,用于Unix系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是Gzip格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。HTTP协议上的Gzip编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用Gzip压缩技术来让用户感受更快的速度。这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.一般对纯文本内容可压缩到原大小的40%.这样传输就快了,效果
阅读全文
摘要:我们都知道,在asp.net中修改了配置文件web.config后,会导致应用程序重启,所有会话(session)丢失。然而,应用程序的配置信息放在配置文件里是最佳选择,在后台修改了配置后导致所有会话丢失是非常不爽的事情,这个时候可将配置文件中经常需要改变的参数配置节放到外面来,例如appSetting节。1.来个最简单的小例子<?xml version="1.0"?><configuration> <appSettings> <add key="test" value="aehyok"/&g
阅读全文
摘要:前言 JSON和JSONP虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。什么是Json? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。..
阅读全文
摘要:前言 jQuery提供的ajax方法能很方便的实现客户端与服务器的异步交互,在asp.net mvc 框架使用jQuery能很方便地异步获取提交数据,给用户提供更好的体验! 调用jQuery的ajax方法时,jQuery会根据post或者get协议对参数data进行序列化; 如果提交的数据使...
阅读全文
摘要:前言log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。本文主要是简单的介绍如何在Visual Studio2010(Asp.Net Mvc3.0)中使用log4net快速创建系统日志,如何扩展以输...
阅读全文
摘要:前言本节主要来记录一下客户端发送请求的参数自动绑定为强类型的成员属性或方法参数也就是Model的绑定体现在从当前请求提取相应的数据绑定到目标Action方法的参数。IModelBinder用于进行Model绑定的ModelBinder对象实现了接口IModelBinder。如下面的代码片断所示,IModelBinder接口具有唯一的BindModel方法用于实现针对某个参数的绑定操作,该方法的返回值表示的就是最终作为参数值的对象。用于进行Model绑定的ModelBinder对象实现了接口IModelBinder。如下面的代码片断所示,IModelBinder接口具有唯一的BindModel方
阅读全文
摘要:前言 首先我们来了解一下WCF Rest吧。Rest是一种设计风格,不是一个标准。Rest通常使用HTTP,URI,XML,HTML等流行的协议和标准。Rest是从资源的角度来观察网络的,而资源是由URI来指定的。Rest对资源的操作类型通常包括:获取,创建,删除和修改,这四种操作分别对应着HTTP协议请求的GET,POST,DELETE和PUT方法。资源的表现形式可以为:XML,HTML,JSON的文本。Rest是服务端-客户端结构中的一种应用方法。Rest使用的是HTTP协议,因此是无状态的。Rest在Asp.Net Mvc中的使用 第一步:先来创建一个Asp.Net Mvc3.0的W..
阅读全文
摘要:前言在http://www.cnblogs.com/aehyok/archive/2013/04/07/3006438.html这篇随笔中,我简单的介绍了,asp.net mvc3.0中自带的Areas的使用。本次主要进行扩展,来讲一下,在开发后期项目中用的MvcContrib来对项目进行分离,比如最简单的分离Web项目,前台和后台。MvcContrib可以将一个MVC项目里的所有内容(包括Views,Controllers,Scripts等)都编译到一个dll里面。如此一来,该MVC项目就可以作为一个“插件(或部件)/Plugin(or Widget)”为其他项目使用,具有很强的重用性。正题
阅读全文
摘要:前言 我们知道MVC项目各部分职责比较清晰,相比较ASP.NET Webform而言,MVC项目的业务逻辑和页面展现较好地分离开来,这样的做法有许多优点,比如可测试,易扩展等等。但是在实际的开发中,随着项目规模的不断扩大,Controller控制器也随之不断增多。如果在Controllers文件夹下面有超过两位数controller,即便采用良好的命名规范,或者用子文件夹的形式区分不同功能的控制器,还是会影响项目的可阅读性和可维护性。因此,在一些场景下,如果能把与某功能相关的文件分离到一个独立的项目中是非常有用的。Asp.Net MVC提供了Areas(区域)的概念达到这一目的。 Web应..
阅读全文
摘要:在项目框架中,首先要引用很多css和js文件,80%的用户响应时间都是浪费在前端。而这些时间主要又是因为下载图片、样式表、JavaScript脚本、flash等文件造成的。减少这些资源文件的Request请求数将是提高网页显示效率的重点。这里好像有个矛盾,就是如果我减少了很多的图片,样式,脚本或者flash,那么网页岂不是光秃秃的,那多难看呢?其实这是一个误解。我们只是说尽量的减少,并没有说完全不能使用。减少这些文件的Request请求数,我们这里主要针对js和css文件进行优化,使用Combres工具第一步准备工具Nuget可以百度,也可以在此http://nuget.org/第二步通过VS
阅读全文
摘要:Ajax.BeginForm可用于异步提交表单。@using (Ajax.BeginForm("AjaxFormPost", "Home", new { ID="11", ClassName="FirstClass"}, new AjaxOptions { HttpMethod = "POST", OnBegin="OnBeginPost()", OnComplete="OnEndPost()", OnSuccess="OnSuccessPost
阅读全文
摘要:在做Asp.Net Mvc项目的时候,发现如果两个完全独立的项目如果想共享调用cshtml,不知道如何处理了。于是就上网百度、Google了一下,结果答案就出来了。首先需要下载一个工具工具链接当然,你也可以直接到官方网站去下载,http://visualstudiogallery.msdn.microsoft.com/f28290ce-d987-4f91-b034-707031e10ce6接下来就是要准备一个asp.net MVC3.0的Web项目。点击确定Web项目准备就绪,接下来再建立一个类库项目继续了。将MvcApplication1项目中的Models和Views文件夹剪切到Class
阅读全文
摘要:话说从开始接触MVC到现在也有一段时间了,记得好像是从2012年8月初开始做项目的。就记录一下自己所用到的且认为重要的知识点吧。首先做的便是一个登录,那么就用到了登录权限认证: public class UserAuthentication : AuthorizeAttribute { public UserToUrlEnum UserToUrlEnum { get; set; } public UserAuthentication() { this.UserToUrlEnum = UserToUrlEnum.Log...
阅读全文
摘要:最近在做项目,这几天遇到的问题要用到几个数据转换,特此记录一下。1.DataTable转换为XML的三种方式 public static string DataTableToXml(this DataTable dt) { ////第一种 返回的XML字符串比较干净,DataTable行中数据为空的没有写入到XML字符串中 System.IO.TextWriter tw = new System.IO.StringWriter(); dt.WriteXml(tw); retur...
阅读全文
摘要:最近在处理MVC时,遇到要将特殊字符,或者XML格式的数据传递到后台,但是后台解析发现无法识别,处理有误。可以通过以下方式处理。1.Javascript 端处理主要对要传递的数据通过escape函数进行处理即可 escape(string)但是要注意escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。语法escape(string)参数描述string必需。要被转义或编码的字符串。返回值已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。说明该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _
阅读全文
摘要:在使用MVC开发Web时,有需求要将页面所有控件及其值传递到客户端与预定义的界面字段配置进行匹配。之前用的方法是,通过Form提交表单,在控制器中通过Request.Form["字段名称"]获取值的方式。现在又找到一种方法即通过Jquery 先获取视图中的控件,然后传递即可。如下获取页面所有input控件function printTextValue(){ var texts = $("input:text"),textArray = []; texts.each(function(){ var $this =$(this); ...
阅读全文
摘要:我这里就是通过routes.MapRoute(参数)中的参数进行处理的。MapRoute的重载如下:RouteTable.Routes.MapRoute( string name, string url);RouteTable.Routes.MapRoute( string name, string url, object defaults);RouteTable.Routes.MapRoute( string name, string url, string[] namespaces);RouteTable.Routes.MapRoute( string name, string url,
阅读全文
摘要:c# 扩展方法出来已久,介绍扩展方法的文章也很多,此处就不多介绍,如有不懂当然可以百度,google一下,园子当中也有超级多的讲解。大家可以看到这是微软MVC中自带的针对TextBoxFor的三个重载方法。那么我们还可以针对TextBoxFor进行我们自定义的扩展(想要什么样式,只要我们能实现),那么在调用时就方便多了。那么现在自己实现一个吧。 public static MvcHtmlString TextBoxFor<TModel>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, D
阅读全文
摘要:首先看一下我在控制器Controller中的代码 public JsonResult SearchUnitByID(string ID) { Flow_StateUnitDefine unit = new Flow_StateUnitDefine(); unit = FlowAccessor.GetUnitByID(ID); return this.Json(unit); }前端JS请求和返回的代码 function OrgFocusedRowChanged(s, e) { ...
阅读全文