CodematicDemo中的一些未公开的源码

本文详细解析了CodemiticDemo项目,并重点介绍了其中的自定义控件PageControl,常用工具类Common,以及基于.NET实现的安全角色管理Accounts模块。通过重新编写并测试这些代码,分享了作者对于.NET安全机制的理解。

最近闲来无事,便学习一下.net。早就对它耳闻目睹,学习玩了petShop4.0,顺便学习一下李老师的CodemiticDemo。他们都喜欢用他的代码生成器。我则喜欢看他的CodemitcDemo,由于是我一前是学习java的,所以我讨厌自动生成,我习惯于自己动手。然而CodemitcDemo2.0和1.0中有些代码,作者并没有公开,我特将他们解开,加上我自己的理解从新写了一遍,整个都通过测试。这部分代码主要分为 3部分。

1, PageControl. (自定义控件可以按照自己的需要去设计)

包括:Navigation01.csPage01.cs,Page02.cs,Page03.cs

2, Common(部分方法可以借鉴一下,加密算法很全)

包括:ConfigHelper.cs,DataTOExcel.cs,MessageBox.cs,PageBase.cs,PageValidate.cs

还有DEncrypt下的:DEncrypt.cs,DESEncrypt.cs,HashEncode.cs,RSACryption.cs

3,Accounts.(主要部分,特别是基于.NET的安全角色很不错)

包括:DbManagerSQL.cs,DbObject.cs,PubConstant.cs

Data下的:Permission.cs,PermissionCategory.cs,Role.cs,User.cs

Bus下的:AccoutsPrincipal.cs,AccountsTool.cs,PermissionCategoriies.cs,Permissions.cs,SiteIdentity.cs

User.cs

【1】Asp.Net MVC的特点 分离任务:利于维护,耦合小 可扩展: HtmlHelper扩展,视图引擎扩展, 强大的URL重写(路由)机制: 兼容ASp.Net现有的技术: 开源: 通过把项目分成model|view|controller, 使得复杂项目更加容易维护 没有使用view state和服务器表单控件,可以更方便的控制 应用程序的行为 应用程序通过controller来控制程序请求,可以 提供丰富的url重写 支持测试驱动开发 在团队模式下表现更加出众 关注点分离 高扩展性 更好的可测试性 更好的URL重写 更好的性能 更加零和的HTML代码控制 2009年3月 asp.net mvc1发布,缺失Area等关键技术 2010年3月12日: 强类型的HTML Helper数据验证,自定义模板,Area,异步Controller .Net4的技术:dynamic类型,默认值的方法参数 Why ASP.Net MVC3 asp.net 视图中充斥着<% %> Action过滤器无法,全局 对404 301 等http响应状态,缺乏对应的ActionResult类型 缺乏模型数据验证的直接支持 对依赖注入(DI)控制反转(IoC)支持不过够好 不支持Grid ViewData用起来麻烦 --> 添加Razor视图引擎,支持多视图引擎 全局的Action过滤器 新的ViewBag属性 新的ActionResult类型 Model Validation JSON绑定支持 Dependncy Injection html5 Css3 部分页的输出缓存 htmlHelper的增强 NuGet fires.Add(new HandErrorAttribute()); HttpNotFoundResult404 RedirectResult301\301 HttpStatusCodeResult自定义http状态吗 @{ int i=0; } @Html.Raw(model.Message) 默认都是经过编码输出 @model.Mesage @foreach(var item in items){ <span>@item.Prop</span> } @if(foo) { @Dsad } Hello @Title . @name 输出@符号 @@forr dsa ds 输出无空格或标记位置 <span> ISBN@(isbnBumber)</span> 注释 @* dsad *@ @{ Func<dynamic,object) b= @<strong>@item</strong>; } @b("dsad ") 单行输出 @:(@sadsaad) 多行输出 @{ <p> dsad dsa dsa dsa </p> } @:dsada @:dsada2 @{ <text> dsad dsa ddsad </text> } 布局页的预设可布局区域 通过使用@RenderSection在布局页中预设 一些区域,用于在内容页中使用 @RendSection("head",false) 第一个参数是Section的名字 第二个参数是用来设定是否为必填填充的区域 因为这段代码在每个视图开始的时候执行, 我们不需要在任何单个视图文件中显式的设置布局, 除非我们想要覆盖上面的默认值 _ViewStart.cshtml @{ Layout="~/View/Share/_Layout_cshtml" } Browser-get.set----->IIS ---aspnet_iisapi.dll---->Asp.Net --Routing-->Controller------Bll.DAL----->Action ----ViewData--->Model--->View--Response--->Browser Conroller 控制器在Asp,net MVC 中扮演着处理客服端请求的角色 必须实现System,Web.Mvc.MvcIController接口 通常直接继承System,Web,Mvc,Controller类 必须要以Controller结尾 通过不同的Action来处理具体的客服端请求 Action 继承了System.Web.Mvc.Controller类中 所定义的返回值的类型可以兼容ActionResulet的方法 ContentResult EnptyResult FileResult JavaScriptResult JsonResult RedirectResult RedirectToRoutResult ViewResultBase HttpStatusCodeResult public ActionResult Page404() { return HttpNotFound(); }
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值