随笔分类 -  其它 / ASP.NET

传统asp.net传统模式与MVC模式
摘要:过去的过去,往往对于一种问题有一个很直观的解决方法,如,判断用户是否登陆,判断用户session是否为空,一般会这个写在页面中: if(HttpContext.Session.IsNewSession){ // go to Logon}每个需要验证的页面都要这样去写同样的代码,这样的程序是我们不提供的,因为它重复了自己。当.net出现Attribute之后,MVC出现了之后,改变了这一切,如果... 阅读全文
posted @ 2011-09-14 16:16 张占岭 阅读(1832) 评论(1) 推荐(0) 编辑
摘要:前一篇说了标准的服务器架构方案,事实上,那是系统建立完成后的事情,在开发时,我们很少这种去设计,也没有必要这样去做,测试环境我们可以使用hosts这个文件来实现,我们可以把5个服务器放在一台电脑上,安装上IIS,然后分别建立站点,如 www.test.com www服务器 img.test.com 图像、脚本服务器 file.test.com 文件服务器 db.test.com... 阅读全文
posted @ 2011-09-14 15:16 张占岭 阅读(695) 评论(1) 推荐(1) 编辑
摘要:返回目录 问题是这样的,Department表是一个部门表,由DeptId,name和Father组成,它是一种树型的关系,一个部门下可以有多个子部门,同时,它有一个父部门,祖宗部门没有父部门。 以下是测试数据(相当于Data层里取出数据的方法): static List<Department> d 阅读全文
posted @ 2011-09-14 14:55 张占岭 阅读(1144) 评论(0) 推荐(0) 编辑
摘要:现在不少大型网站和应用程序都采用标准架构来进行开发,何为标准架构,标准架构有什么好处,今天我想说一下。 标准,说它是一种标准,也就是它其有一定的通用性,可以解决大部分问题,今天说的架构不是软件层次上的,而是硬件上的,主要是环境的搭建。 首先我们的开发环境为win2003+SQL2005+NET3.5 架构,然后我们再来看主要的服务器 一 WWW服务器,主要运行网站或B/s应用程序 二 数据库服务器,主要进行SQLSERVER的部署,进行数据的存取操作 三 图像、脚本服务器,主要存储样式文件,网站图像文件及JS脚本文件,它和前台页面效果工程师工作相关 四 文件服务器,用户上传的文件,... 阅读全文
posted @ 2011-09-13 18:15 张占岭 阅读(667) 评论(0) 推荐(2) 编辑
摘要:WebRequest是操作WEB请求的抽象象,它作为所有WEB请求的基类,主要由FileWebRequest、FtpWebRequest、HttpWebRequest这三个类进行实现。(选自MSDN)今天主要说一下 HttpWebRequest,从名字上看,他肯定是用来操作HTTP请求的,没错,正是如此。 标头 ... 阅读全文
posted @ 2011-09-09 18:02 张占岭 阅读(10654) 评论(0) 推荐(1) 编辑
摘要:EF4.1已经推出有一段时间了,它给人的第一吸引力就是比LINQ TO SQL更加适合大型项目,它的封装更加紧密,操作也更加灵活,而且弥补了LINQ To SQL的最大不足,可以支持多种数据库。 EF4.1+ASP.NET MVC+JQuery 第一先说一下EF4.1: 我们数据层OR/Mapping采用EF4.1来实现数据的持久化 我们必须要对EF4.1进行一个封装,把对数据的操作限制... 阅读全文
posted @ 2011-09-09 12:38 张占岭 阅读(5896) 评论(13) 推荐(2) 编辑
摘要:最近做了一个项目,有个问题,就是对用户ID进行页面间的传递,但又想把用户ID进行加密后传递,这样更安全,在这个过程中会出现一个问题,就是URL编码问题,如果不对URL进行编码直接加码,那么在解码时,如果字符串存在“+”这种特殊符号,在解码时会出它替换成“ ”,此时在解密就会无法解开,导致错误的结果。 解决方法: 加密后,进行URL编码,然后到另一页面后,进行URL解码,再解密 结果:失败 ... 阅读全文
posted @ 2011-09-08 09:54 张占岭 阅读(3705) 评论(1) 推荐(0) 编辑
摘要:Ninject可以帮助我们解耦,提高类的内聚度,它的使用非常简单,看下面代码: 首先下载Ninject.dll这个动态链接库文件,可以到DLL大全里下载 public interface ISay { void Write(string message); } public class ChinaSay : ISay { ... 阅读全文
posted @ 2011-09-05 15:36 张占岭 阅读(1470) 评论(1) 推荐(0) 编辑
摘要:例如:http://www.bobo.com?userid=axeidxls01wdcx(这个userid会有一个加密) 当某个用户发出一个邀请后,另一个用户通过这个链接进行网站后,为发这个链接的用户加10个积分。 实现方法: 建立一个用户附加表InviteUser_NewUser,结构如下: 然后跟着我的思路走: 用户接这个链接后 =》 进入网站宣传页,同时用sessi... 阅读全文
posted @ 2011-09-02 17:16 张占岭 阅读(637) 评论(0) 推荐(0) 编辑
摘要:项目完成了,现在进入了维护阶段,一切都很平静。。。 突然有一天,老板来了个需求,要求用户有一个新的功能,即会员可以为好友推荐,进行本网站,当推荐的人真的来本网站注册后,并进行了邮件确认后,同时要给那个会员一些好处,比如,送它积分。 这个需要无疑要牵动用户表,这可如何是好,是在原表基础上改,还是。。。 首先如如果在原表上改,牵动太大,所以就想到了面向对象的“开闭原则”,在不改变原表的同时,添加... 阅读全文
posted @ 2011-08-31 16:09 张占岭 阅读(770) 评论(2) 推荐(0) 编辑
摘要:小知识:typeof(类型名)和实例.GetType()是什么?typeof(类名):返回直指的System.Type对象,并可以通过Type对象访问基类及本类一些信息GetType():是object类下实例方法,即无论是自己定义的类还是.net框架类都可以用此方法如果想返回String类型的全类型形式,可以用typeof(String)如果想返回对象string a=null;中实例a的... 阅读全文
posted @ 2011-08-29 12:00 张占岭 阅读(744) 评论(3) 推荐(0) 编辑
摘要:事情是这样的,我有三张表,用户_角色关系表User_Role,角色_菜单关系表Role_Menu和菜单表 Menu,这三个表之间有如下关系: User_Role=>RoleId=>RoleMenu RoleMenu=>MenuId=>Menu 它们之间的业务关系是: 当用户登陆后,通过UserId得到User_Role列表,将用户所包括的角色得出 通过User_Role找到所有对应M... 阅读全文
posted @ 2011-08-26 11:47 张占岭 阅读(1243) 评论(1) 推荐(1) 编辑
摘要:事实上,MVC中已经很好的封装了Json,让我们很方便的进行操作,而不像JS中那么复杂了。 MVC中: public JsonResult Test() { JsonResult json = new JsonResult { ... 阅读全文
posted @ 2011-08-25 16:33 张占岭 阅读(19620) 评论(7) 推荐(6) 编辑
摘要:在网上很多人说XML的序列化不支持泛型,今天有时间,去做了一个测试,测试环境是.net framework4.0,测试结果是可以被序列化和反序列化。 namespace List可以被序列化 { class Program { static void Main(string[] args) { Serial... 阅读全文
posted @ 2011-08-25 11:41 张占岭 阅读(8815) 评论(1) 推荐(0) 编辑
摘要:首先是枚举对象的遍历 #region 类型列表框 typeitems = new List<SelectListItem>(); foreach (string i in Enum.GetNames(typeof(ServiceDocumentType))) { typeitem... 阅读全文
posted @ 2011-08-24 11:00 张占岭 阅读(3258) 评论(0) 推荐(2) 编辑
摘要:抽象工厂是设计模块中创建型模式的一种,它比起工厂方法模式来说,更加具有一般性,在本模式中会引入一个产品族的概念,就是说,在本模式中抽象产品会有多个,然后用抽象工厂去调用它们,具体怎么去调用由具体工厂来实现。 看下列代码,主要实现动态生成按钮和弹出窗口的功能,弹出窗口可以根据浏览器的类型去调用适合 自己的方法,按钮也可以根据传入的样式和类型去自动生成按钮。 class Program ... 阅读全文
posted @ 2011-08-23 11:07 张占岭 阅读(507) 评论(0) 推荐(1) 编辑
摘要:// 将用户控件转换为字符串01 public static string RenderPartialToString(string file, object view)02 {03 ViewDataDictionary vd = new ViewDataDictionary(view);04 ViewPage viewPage = new ViewPage { ViewData= vd };05 Control control = viewPage.LoadControl(file);06 07 viewP... 阅读全文
posted @ 2011-08-19 12:23 张占岭 阅读(1618) 评论(2) 推荐(0) 编辑
摘要:首先,为了安全起见,服务器的SQLSERVER不开放远程访问,这样,我们有两种方案可以选择,其一就是webservice,其二就是比较简单的XML,今天我主要讲XML。 先说明一下,两个网站域名为a.com和b.com,a.com是b.com的分站,它们的新闻是共享的,就是一样的,所以没必要在a.com数据库里再重复插入一批数据了。 解决方案:在b.com里建立一个开放的XML文件,供a.com... 阅读全文
posted @ 2011-08-19 10:50 张占岭 阅读(422) 评论(0) 推荐(0) 编辑
摘要:我们知道枚举默认和int类型是可以直接强转换的,并不会出现任何错误,但对于其它类型来说, 有可能会有问题,比如,一个enum类型, 如下声明会有错误 enum ProductColumns { ProductId=1, . . . Status=4294967297, } OK,这样的话,程序会报错,因为它已经超过了int型的范围(int型其实就是Int32结构体类型,32表示最大存储的整型范围... 阅读全文
posted @ 2011-08-19 00:03 张占岭 阅读(1110) 评论(1) 推荐(1) 编辑
摘要:关键字是为了方便大家使用,而特意为.net拿出来直接使用的类型,如int,short,long,string,delegate及enum等类型都是关键字,现在说一下它们的原型(F2键,转到定义可以看到) int => public struct Int32 short => public struct Int16 long => public struct Int64 string => pub... 阅读全文
posted @ 2011-08-18 15:20 张占岭 阅读(391) 评论(0) 推荐(0) 编辑