代码改变世界

随笔分类 -  Asp.Net

BlogEngine学习系列

2011-07-09 16:57 by MichaelYin, 433 阅读, 收藏, 编辑
摘要: BlogEngine中的Provider模式(上) BlogEngine中的Provider模式(下) BlogEngine中的BlogSettings BlogEngine中自定义主题的实现BlogEngine中的Extensinon实现 BlogEngine中的widget机制 BlogEngine中的js和css访问处理 阅读全文

BlogEngine中的widget机制

2011-03-19 20:45 by MichaelYin, 429 阅读, 收藏, 编辑
摘要: BlogEngine中的widget机制支持在页面可添加一些小的widget,这个功能当时还是特别吸引我的,现在简单的说下实现的原理。 所有的widget都在一个WidgetZone的容器内,这个容器继承自PlaceHolder,而这个容器是在自定义theme中的模板页中用到的,当这个控件加载的时候,它从数据库中找到关于widget的配置信息。这个配置信息也是DataStore的方式提取和存储的。... 阅读全文

BlogEngine中的Extensinon实现

2011-03-17 09:28 by MichaelYin, 518 阅读, 收藏, 编辑
摘要: BlogEngine中提供了比较良好的扩展机制,用户可以通过添加Extension对BlogEngine进行各种功能的添加,而且还可以对各种扩展进行统一的管理,下面就把实现的机制和原理说明一下。 ManagedExtension这个类对应了BlogEngine中的Extension,ExtensionSettings是ManagedExtension中的配置信息,而ExtensionParamet... 阅读全文

BlogEngine中自定义主题的实现

2011-03-13 10:17 by MichaelYin, 430 阅读, 收藏, 编辑
摘要: BlogEngine中通过一种较灵活的方式实现了可扩展的自定义主题的实现的功能,用户只需要从网上下载相应的样式包,然后放到对应的文件夹下就能够实现对显示主题的切换。 在Web项目的themes文件夹下面有对应的各个主题的文件夹,文件夹里面有相应的主题所需要的CSS,图片等文件,另外还有三个文件,site.master,CommentView.ascx和PostView.ascx。其中除了site.... 阅读全文

闲话动态KML

2010-12-21 16:06 by MichaelYin, 2469 阅读, 收藏, 编辑
摘要: 最近在Google Map开发中开发中用到了动态生成KML在地图中动态显示数据,下面来简单的把其中的知识点讲一下。 KML是一种采用XML 语法与格式的语言,它被用来描述地理信息,如点,线,多边形等等,可以被Google map和Google Earth等软件识别并显示。我们可以在Google Earth把我们感兴趣的一些地点标识出来,然后生成KML文件,通过分享这个文件来让别人在Google ... 阅读全文

字符编码那些事儿

2010-12-06 16:57 by MichaelYin, 616 阅读, 收藏, 编辑
摘要: 这几天专门花时间好好看了下字符编码的东西,在这里写篇随笔把知识好好梳理一下。 讲到字符编码,还是从最基本的ASCII讲起咯。 在计算机刚开始使用时候,人们必须用计算机里面的01这样的二进制组合来表示一些基本的英文字母和字符,当然了,每个人都可以有自己的一套编码标准来完成这个看似简单的功能,不过,为了不同的计算机系统之间能够相互通信而不产生混乱,那么所有的计算机就必须采用相同的编码标准,所以美国... 阅读全文

BlogEngine中的BlogSettings

2010-11-26 20:44 by MichaelYin, 414 阅读, 收藏, 编辑
摘要: BlogEngine中的BlogSettings这个类是用来提供整个系统的设置参数的,参数的读取采用的是反射获取属性名称,然后遍历进行赋值,个人觉得这段代码值得学习 private void Load() { Type settingsType = this.GetType(); //---------------------------------------------------------... 阅读全文

MSchart与Zedgraph使用初探及比较

2010-11-25 09:59 by MichaelYin, 2220 阅读, 收藏, 编辑
摘要: 最近项目中的统计图表功能需要重新进行下调整,所以这两天花时间学习了下关于统计图表方面的东西。 统计图表的实现方式常用的有Flash方式和图片方式,我这两天主要是把MsChart和Zedgraph研究了一下,简单说下MSchart,这个图表解决方案是微软官方提供的图表解决方案,使用的时候需要.Net3.5 Sp1(在一篇文章的评论中看到有人说.net2.0中也能用,只是需要把需要用到的dll手动加... 阅读全文

Subsonic查询中奇怪的数据丢失问题

2010-11-09 17:43 by MichaelYin, 391 阅读, 收藏, 编辑
摘要: 昨天在项目中遇到了一个很奇怪的问题,用Subsonic查询出来的对象中部分字段值出现了丢失,比如我写这样一个查询语句 后面的查询跟Sql语句差不多的,返回一个对象,但是从程序Debug中来看的话,有些属性并没有取到值,这个有点奇怪的现象引起了我的兴趣,在网上找了一下,找到了对应的源码,将SubSonic Project加载到我实验的Console的Project中去,查询中所调用的东西都在里面。... 阅读全文

BlogEngine中的Provider模式(下)

2010-10-23 21:18 by MichaelYin, 265 阅读, 收藏, 编辑
摘要: 前面一篇Post主要专注于读取Web.Config中的配置的过程,这一篇将从面向对象的角度来阐述Provider的实现细节。BlogEngine中其实很多处用到了Provider模式,而我希望就数据存储这部分把Provider给大家讲清楚,因为其他的地方和数据存储差不多,实现的方式大同小异。BlogEngine中的BlogProvider是一个继承自ProviderBase的抽象类,在Provid... 阅读全文

BlogEngine中的Provider模式(上)

2010-10-23 20:27 by MichaelYin, 482 阅读, 收藏, 编辑
摘要: BlogEngine中的数据存储部分使用了Provider模式来支持多种数据存储方式,比如Sql server,XML等。只需要通过修改Web.Config文件中的响应配置节就可以按需求进行数据存储方式的改变。<configSections> <sectionGroup name="BlogEngine"> <section name="blogProvider" r... 阅读全文

母版页中的js和css文件引用路径的问题

2010-10-08 10:46 by MichaelYin, 2585 阅读, 收藏, 编辑
摘要: 今天在做项目的时候发现了母版页中引用css文件和js文件路径在内容页中发生路径错误。先来说说问题发生的情况吧,比如我在一个母版页中引用了一个js文件和一个css样式表文件,路径是使用的相对路径,代码是这样子的ResolveUrl方法会把服务器端的地址进行解析,转换之后的地址是诸如/Project/Folder/File.jpg 这样的绝对路径,转换之后就不用担心母版页带来的路径问题了。 阅读全文

Bugnet学习总结(6)用户控件

2010-08-01 11:49 by MichaelYin, 464 阅读, 收藏, 编辑
摘要: 用户控件作为Asp.net提供的一种自定义可重用的机制,在很多的项目中都得到了应用,Bugnet里面也使用了很多用户控件。UserControls文件夹里面放的除了fckeditor和xslt外,就是项目里面要用到的用户控件了,代码都不难,下面就把里面的DisplayBugs.ascx拿出来稍微讲一下。该控件在Bugnet中被用到的次数还是很多的,功能也比较简单,就是提供了一个有图表显示,有排序功... 阅读全文

Bugnet学习总结(4)数据访问层

2010-07-25 19:52 by MichaelYin, 436 阅读, 收藏, 编辑
摘要: Bugnet由于功能比较简单,所以在系统的架构上也很简单,没什么过于复杂的地方。 DAL文件夹中的DataFactory文件通过读取Web.config中的Appsetting中的值反射生成生成数据库连接和操作对象。DataHelper,里面则是一些常用的Ado操作,进行了简单的封装,GenericDataAccessLayer是调用DataHelper里的函数完成数据CRUD操作的类。,需要提... 阅读全文

Bugnet学习总结(2)数据库

2010-07-19 15:50 by MichaelYin, 704 阅读, 收藏, 编辑
摘要: 由于Bugnet使用了Membership,所以数据库中会有aspnet_Applications这样以aspnet开头的表名,而这其中和user相关的权限的表诸如aspnet_UsersInRoles,aspnet_Roles,这些表在实际项目运行中是没有用到的,关于membership中的表的联系以及表的具体含义,请参考这篇文章。请猛击这里 接下来的就是具体的业务表了,在业务表中,比较重要的就... 阅读全文

Bugnet学习总结(1) 前言&索引

2010-07-18 19:29 by MichaelYin, 638 阅读, 收藏, 编辑
摘要: Bugnet是一个简单的Bug管理系统,这个系统对于.Net语言有一定了解而想继续深入学习的朋友来说还是不错的,系统不大,实现的功能叶相对比简单,不会像某些NB源代码会让你在学习的过程中纠结不已。其中的一些控件使用的方法在某些情况下对于我们来说还是值得借鉴的,比如其中的Ajax的实现是使用了ajaxcontroltoolkit,方法比较简单,而效果还不错。 Bugnet系统中用到的若干的我觉得有... 阅读全文

有列表List的操作所学习到的

2010-07-14 13:09 by MichaelYin, 263 阅读, 收藏, 编辑
摘要: 前几日coding的时候,需要实现在泛型列表中找到其中的一个对象并将其移除的功能,刚开始想的很简单,先上代码这是我刚开始写的代码。。运行时候VS提示错误 “集合已修改;可能无法执行枚举操作。”跑到博客园里面找了一番,发现使用foreach就会存在这个问题,因为foreach在遍历的时候只取只读的数据,如果用for的话,就能够比避免这个问题。好吧,那就换成for循环吧。运行程... 阅读全文