随笔分类 - .NET技巧
什么是多态?
摘要:来自http://blog.csdn.net/softart/archive/2007/10/27/1846041.aspx一.什么是多态(Polymorphism)多态(Polymorphism)是面向对象(Object-Oriented,OO)思想"三大特征"之一,其余两个分别是封装(Encapsulation)和继承(Inheritance)--可见多态的重要性。或者说,不懂得什么是多态就不能说懂得面向对象。多态是一种机制、一种能力,而非某个关键字。它在类的继承中得以实现,在类的方法调用中得以体现。先让我们看看MSDN里给出的定义:Through inheritanc
阅读全文
C# 多态的实现
摘要:封装、继承、多态,面向对象的三大特性,前两项理解相对容易,但要理解多态,特别是深入的了解,对于初学者而言可能就会有一定困难了。我一直认为学习OO 的最好方法就是结合实践,封装、继承在实际工作中的应用随处可见,但多态呢?也许未必,可能不经意间用到也不会把它跟“多态”这个词对应起来。在此抛砖引 玉,大家讨论,个人能力有限,不足之处还请指正。 之前看到过类似的问题:如果面试时主考官要求你用一句话来描述多态,尽可能的精炼,你会怎么回答?当然答案有很多,每个人的理解和表达不尽相同,但我比较趋向这样描述:通过继承实现的不同对象调用相同的方法,表现出不同的行为,称之为多态。例1:代码publicclass.
阅读全文
C# 文件下载四方法
摘要:using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.IO;public partial class _Default : System.Web.UI.Page{protec
阅读全文
页面缓存 cache
摘要:ASP.NET提供一个功能完整的缓存引擎,页面可使用该引擎通过HTTP请求存储和检索任意对象.缓存的生存期与应用程序的生存期相同,也就是说,当应用程序重新启动时,将重新创建缓存。将数据添加到缓存中1。通过指定其键和值将项添加到缓存中Cache["txt"]="a";2.通过使用Insert(重载Insert方法)方法将项添加到缓存中Cache.Insert("txt","a");下列代码显示如何设置相对过期策略。它插入一个项,该项自上次访问后10分钟过期。注意DateTime.MaxValue的使用,它表示此项没有
阅读全文
posted @ 2013-02-25 12:23
Eleanore Lee
各种浏览器css不兼容的写法
摘要:/*针对谷歌浏览器内核支持的CSS样式*/@media screen and (-webkit-min-device-pixel-ratio:0) {样式}/*针对IE6特制识别的CSS样式*/*HTML .SearchBox{样式}针对Firefox浏览器的内核CSS写法:@-moz-document url-prefix() {.font1 {color:red}}IE8就是自己来调试了。调试一个浏览器,有不合适的地方可以在该内核css中重写对应的方法,只需把不合适的样式重写即可实现。*HTML中则例外,需要每重写一个都要加*HTML单独处理。针对样式名如果只让ie6看见用*html .h
阅读全文
posted @ 2013-01-08 10:44
Eleanore Lee
MVC笔记 Controller相关技术
摘要:一、Controller的责任 MVC的核心就是Controller(控制器),它负责处理浏览器传送过来的所有请求,并决定要将什么内容响应给浏览器。但Controller并不负责决定内容应该如何显示,而是将特定形态的内容响应给MVC架构,最后才由MVC架构依据响应的形态来决定如何将内容响应给浏览器。如何决定响应内容是View的责任。二、Controller的类与方法 Controller本身就是一个类(Class),该类有许多方法(Method)。在这些方法中,只要是公开方法,该方法就会被视为是一种动作(Action);只要有动作存在,就可以通过该动作方法接收网页请求并决定响应视图。 由上可知
阅读全文
MVC笔记 用Model创建数据模型
摘要:所有需要进行数据访问的操作都须依赖Model提供的服务。简单地说,Model负责通过数据库、AD(Active Directory)、Web Service及其他方式取得数据,或者将用户数据输入的数据保存到数据库、AD、Web Service等中。一、Model的任务 Model的独立性很高,所以VS方案中有多个要开发的项目,一般会将Model独立成一个项目,好让Model项目在不同的项目之间共享。二、创建基础数据模型 使用MVC开发MVC项目时,不妨好好利用VS开发工具带来的便利。尤其是开发繁琐的Model任务时,若使用内置化开发工具,能有效提升整体开发效率。使用Entity Framwo.
阅读全文
MVC笔记 网址路由与MVC的生命周期
摘要:一、网址路由 1.1 比对通过浏览器传来的HTTP请求 客户端对ASP.NET网站发出请求时,能通过R偶汤尼盖找到适当的HttpHandler来处理网页,大致的流程如图: 如果HttpHandler是由MvcHandler来处理,那么,此时就会进入MVC的执行生命周期,并且会找到适当的Controller与Action来对其进行处理,并将信息反馈给客户端。 1.2 将适当的网址返回浏览器 网址路由的另一个用途是决定MVC 应该输出什么样的网址并将其返回浏览器,跳转地址或在View中显示超链接时,都需要参考网址路由的定义,因为这样才能动态决定MVC输出网址应该是什么。 1.3 默认网址路由 ..
阅读全文
MVC笔记 MVC注意事项及优化
摘要:一、 学习MVC注意事项1. 了解不同的项目类型 从ASP.NET 2.0开始,vs针对网站开发区分了两种项目类型,一种是'项目'(Website Project),另一种是'网址'(Web Application Project)。两者最大的差别在于'项目'采用动态编译的架构运作。如:中只要编辑并存储了'App_Code'目录下的类或强类型数据集,就会使整个网站项目在后台重新编译,有时甚至会阻碍在vs中进行操作,若项目规模变大,就很容易拖慢开发速度。而MVC要求项目类型最好是'网址',可以利用自动化辅助功能开发。
阅读全文
posted @ 2012-11-21 18:10
Eleanore Lee
MVC笔记 初识模型(二)
摘要:1.在视图中创建窗口,新建一个View视图。添加视图,选中复选框"创建强类型视图"。 需要输入的地方可以用MVC内置的HTML辅助方法来生成字段;需要显示标题的地方可以用<%=Html.Label("")%>方法,需要显示文本的地方可以使用<%=Html.TextBox("")%>方法。 在MVC中,可以利用Html.BeginForm()辅助方法实现自动输出窗口标识,语法如下:1 <% using(Html.BeginForm("Save","Guestbook"
阅读全文
posted @ 2012-11-20 12:09
Eleanore Lee
MVC笔记 初识模型(一)
摘要:今天有时间认真来学习mvc,记录一点基础的知识。 1. Global.asax.cs文件夹中的一个RegisterRoutes()方法,如下图定义。 1 public static void RegisterRoutes(RouteCollection routes) 2 { 3 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 4 5 routes.MapRoute( 6 "Default", // 路由名称 7 ...
阅读全文
posted @ 2012-11-19 16:54
Eleanore Lee
webconfig中配置编码
摘要:接口中反馈的数据有中文,所以编码格式需要控制。 1 <globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="gb2312"/> 2 </system.web> 3 <location path="weather.aspx"> 4 <system.web> 5 <globalization requestEncoding="gb2312" res
阅读全文
Visual Studio 2008自带的Windows 系统使用的各种图标、光标和动画文件
摘要:1,Visual Studio 2008自带的1000多个 Windows 系统使用的各种图标、光标和动画文件 在Visual Studio 2008的安装目录下, /Microsoft Visual Studio 9.0/Common7/VS2008ImageLibrary/2052文件夹下面,有一个VS2008ImageLibrary.zip,这个文件里面将常用的Windows系统图标、光标和动画文件集中到了一起。包括Office、Win9x、WinVista和WinXP等系统使用的,可以免费使用哦。2,删除多余的using指令,并且排序 当我们新一个类的时候,Visual Studio
阅读全文
SqlDataReader的用法
摘要:datareader对象提供只读单向数据的快速传递,单向:你只能依次读取下一条记录;只读:datareader中的数据是只读的,不能修改;相对的,dataset中的数据可以任意读取和修改。 SqlDataReader有一个很重要的方法,read,是个bool值。作用是前进到下一条数据,一条条的返回数据 。当bool为真时返回数据,为假时跳出。while(dr.Read()){Response.write(dr["UserName"]}dr.close(); 用这种方法不仅能判断用户名是否合法,还可以很方便地获取更多关于该用户的信息,其中,我比较喜欢用的是string Pas
阅读全文
SqlDataAdapter
摘要:ado.net提供了丰富的数据库操作,在这些操作中SqlConnection和SqlCommand类是必须使用的,但接下来可以分为两类操作:一类是用SqlDataReader直接一行一行的读取数据库。第二类是SqlDataAdapter联合DataSet来读取数据。两者比较:SqlDataReader由于是直接访问数据库,所以效率较高。但使用起来不方便。SqlDataAdapter可以把数据库的数据缓存在内存中,以数据集的方式进行填充。这种方式使用起来更方,便简单。但性能较第一种稍微差一点。(在一般的情况下两者的性能可以忽略不计。)先看一个比较简单的代码: Code highlighting.
阅读全文
SqlCommand类
摘要:SqlCommand的方法:1.ExecuteNonQuery(); 它的返回值类型为int型。多用于执行增加,删除,修改数据。返回受影响的行数。2.ExecuteReader(); 它的返回类型为SqlDataReader。此方法用于用户进行的查询操作。使用SqlDataReader对象的Read();方法进行逐行读取。例如: SqlCommand comm =new SqlCommand("select * from CGSZ where cid="+id,conn); SqlDataReader reder=comm.ExecuteReader(); while(re
阅读全文
IsNull和IsEmpty的区别
摘要:一个是对象为空(IsNull),一个是值为空(IsEmpty)IsNull指任务类型变量是否为空包括对象类型的变量。IsNull函数:功能:返回Boolean的值,指明表达是否不包含任何有效数据。NULL表示的是数据值未知或不可用,它不表示零(数字值或二进制值)、零长度的字符串或空白(字符值)。IsEmpty函数:功能:用于判断一个变量是否已初始化,如果变量未初始化或显式地设置为Empty,则函数IsEmpty返回True;否则函数返回False。IsNull的一般场合:1.对于值为NULL的,其IsNull返回为True;2.对于数据库来说,看是否是NULL则更简单,若是NULL数据,则数据
阅读全文
split(new []char{' '})[0] 详解
摘要:new []char{' '}新建了一个字符数组,数组中有一个元素:空格split(new []char{' '})将字符串按照参数中的数组进行分割。所以这是按照空格进行分割。split(new []char{' '})[0] 则是返回分割后的第一个部分。
阅读全文
Html Dom 的nodetype解析
摘要:将HTML DOM中几个容易常用的属性做下记录:nodeName、nodeValue 以及 nodeType 包含有关于节点的信息。 nodeName 属性含有某个节点的名称。元素节点的 nodeName 是标签名称属性节点的 nodeName 是属性名称文本节点的 nodeName 永远是 #text文档节点的 nodeName 永远是 #document注释:nodeName 所包含的 XML 元素的标签名称永远是大写的nodeValue对于文本节点,nodeValue 属性包含文本。对于属性节点,nodeValue 属性包含属性值。nodeValue 属性对于文档节点和元素节点是不可用的
阅读全文
C#中的安全指针
摘要:http://topic.csdn.net/t/20051005/15/4308139.html我们都知道,CLR保存程序中的数据,程序员可以控制的有两个地方:保存引用对象实例的堆和保存值类型和对象引用的堆栈。如下面的代码 public void MethodA() { int intValue = 123; // 在堆栈中建立了一个Int32类型变量 System.Text.StringBuilder sb = new StringBuilder(); // 建立了一个类实例引用 System.Text.StringBuilder sb2 ...
阅读全文
浙公网安备 33010602011771号