摘要:
概述今天看了下URL重写的实现,主要看的是MS 的URL Rewrite。URL重写的优点有:更友好的URL,支持老版本的URLURL重写的缺点有:最主要的缺点是性能低下,因为如果要支持无后缀的URL(但更多的情况是我们要支持这种方式)就必须在IIS中配置所有的URL(包括js,css,image)... 阅读全文
随笔分类 - [01]c#
正则表达式入门及备忘
2015-07-14 20:39 by Mike.Jiang, 1856 阅读, 收藏, 编辑
摘要:
概述正则表达式,主要是用符号描述了一类特定的文本(模式)。而正则表达式引擎则负责在给定的字符串中,查找到这一特定的文本。本文主要是列出常用的正则表达式符号,加以归类说明。本文仅仅是快速理解了正则表达式相关元字符,作一个备忘,供以后理解更复杂表达式的参考,以后关于正则表达式的相关内容会持续更新本文。示... 阅读全文
IoC和DI的理解
2015-06-26 15:16 by Mike.Jiang, 7177 阅读, 收藏, 编辑
摘要:
1 概述当我们想闭上眼睛想如何让我们的软件更加可用可维护时,我们总能想到一个词:松耦合。在这篇文章中,主要讲述了模块间存在的依赖关系,但这种依赖关系违背了依赖倒置原则。在这之后,我们将讨论一种解除软件依赖关系的设计模式——IoC,以及它的两种实现方法:依赖注入(DI)和服务定位。最后我们简单地列下当... 阅读全文
一个ORM的实现(附源代码)
2014-07-30 23:31 by Mike.Jiang, 8343 阅读, 收藏, 编辑
摘要:
1 前言经过一段时间的编写,终于有出来一个稳定的版本,期间考虑了多种解决方案也偷偷学了下园子里面大神们的作品。已经有很多的ORM框架,为什么要自己实现一个?我的原因是在遇到特殊需求时,可以在ORM中加入特定的代码。如 :根据数据库的字段长度和可空性做基本的数据验证,在ORM中解决数据修改时的同步问... 阅读全文
DBHelper (支持事务与数据库变更)
2014-07-24 23:11 by Mike.Jiang, 8443 阅读, 收藏, 编辑
摘要:
1 概述更新内容:添加 "支持数据分页"这个数据库操作类的主要特色有1> 事务操作更加的方便2> 变更数据库更加的容易3> 支持数据分页 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-N... 阅读全文
用T4 Template生成代码
2014-07-15 20:43 by Mike.Jiang, 14097 阅读, 收藏, 编辑
摘要:
1 T4语法T4的语法与ASP.NET的方式比较类似。主要包括指令、文本块、控制块。1.1 指令指令主要包括template, output, assembly, import, include等类型,用以告诉T4引擎如何编译和运行一个模板。这些指令相当于T4引擎的配置参数。示例:告诉T4引擎控... 阅读全文
ASP.NET 多语言的实现(后台消息+前台消息+页面自动绑定)
2014-03-06 00:11 by Mike.Jiang, 4266 阅读, 收藏, 编辑
摘要:
一 前言界面支持多种语言,在使用ASP.NET自带的多语言方案时遇到下列问题:在做管理类的功能时,有添加、修改和查看页面,需要支持多语言的控件基本相同,但要维护多处,产生冗余(ASP.NET有共享的资源,但它是全局的,不能分 模 块,我们不能所模块的信息入在全局资源中);在页面中必须要指定资源文件中的KEY;当页面慢来慢多时,页面与资源的匹配实在难以维护;所以我认为一个理想的支持多语言框架,需要有以下特性:分模块解决数据冗余问题;自动匹配页面与资源文件之间的联系;易于维护,能通过页面快速定位到资源文件中;支持后台消息的多语言实现支持前台JS消息的多语言实现二 后台消息多语言的实现在实现后台消息 阅读全文
自定义XML动态配置程序
2014-02-12 20:33 by Mike.Jiang, 4461 阅读, 收藏, 编辑
摘要:
概述1 在做程序开发时,我们往往要用到如下两个基本模块1> 设置程序的基础参数,如分页的参数、邮件参数等;2> 在基于表驱动开发时,即把一些判断的逻辑放在表数据中;2 在这两个基本应该中,我们有如下的需求:1> 要集中管理;2> 要可配置,即不重起系统的情况下,修改参数;3> 易于使用。程序的主要功能1> 设置程序的基础参数,如分页的参数、邮件参数等; ----将XML中配置信息自动加到对应的实体上。2> 在基于表驱动开发时,即把一些判断的逻辑放在表数据中; ----将XML中的Dctionary 数据自动加载到对应的实体上。但此方法需要继续优化,现在 阅读全文
c#基础 事件
2013-05-02 23:42 by Mike.Jiang, 231 阅读, 收藏, 编辑
摘要:
1, 概述 类或对象可以通过事件向其他类或对象通知发生的相关事情。 发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称为“订户”(MSDN)。要在类的内部声明事件,首先必须声明该事件的委托类型。委托类型定义了传递给事件处理方法的组参数。2,示例View Code public enum SwitchPosition { Up, Down } public class SwitchFilppedEventArgs:EventArgs { private SwitchPosition position; public SwitchFil... 阅读全文
c#基础 委托
2013-04-25 21:45 by Mike.Jiang, 199 阅读, 收藏, 编辑
摘要:
1 概述委托:公共语言运行库为支持方法回调而实现的一种技术。即可以用委托封装一个方法的引用,然后可以将方法作为参数传递。在.NET中支持一个委托可以同时指向多个方法。2 示例View Code public class Light { public string Name { get; set; } public void OnFlip(string status) { Console.WriteLine(string.Format("{0} is {1} now",this.Name,status)); ... 阅读全文
使用NPOI和委托做EXCEL导出
2013-04-18 20:55 by Mike.Jiang, 2984 阅读, 收藏, 编辑
摘要:
首先,在用NPOI导出时,学习了邀月这篇文章NPOI根据Excel模板生成原生的Excel文件实例,在这里先行谢过了。本篇文章在邀月的基本上,做了一些小的改动,加上委托的机制。因为在做导出时,加载模板,下载为EXCEL的代码相同,但是在设置EXCEL模板中的值时有很大的不同。所以以了一些小的改动。改动后的主要类文件如下:ExcelHelper:View Code public class ExcelHelper { private string templatePath; private string newFileName; private s... 阅读全文
自定义多语言的实现
2013-03-07 21:24 by Mike.Jiang, 1893 阅读, 收藏, 编辑
摘要:
1背景界面支持多种语言,在使用ASP.NET自带的多语言方案时遇到下列问题:在做管理类的功能时,有添加、修改和查看页面,需要支持多语言的控件基本相同,但要维护多处,产生冗余(ASP.NET有共享的资源,但它是全局的,不能分 模 块,我们不能所模块的信息入在全局资源中);在页面中必须要指定资源文件中的KEY;当页面慢来慢多时,页面与资源的匹配实在难以维护;所以我认为一个理想的支持多语言框架,需要有以下特性:分模块解决数据冗余问题;自动匹配页面与资源文件之间的联系;易于维护,能通过页面快速定位到资源文件中;2 资源存储于单个文件先不将最后解决方案贴出来,我们先看看解决方案的第一个版本(在此版本中未 阅读全文
C# 常用操作
2013-02-28 11:11 by Mike.Jiang, 1498 阅读, 收藏, 编辑
摘要:
1,VS2010 修改模板文件,增加默认注释通过修改模板文件,为代码文件添加默认的注释,如创建人、时间和版本等信息。链接:VS2010 修改模板文件,增加默认注释2, ASP.NET 页面生命周期来源于MSDN: ASP.NET Page Life Cycle3, Repeater绑定值时应该是单引在外面,双引在里面,否则会报“字符文本中的字符太多”的错误'>')">4, C#DateTime的默认值问题C#DateTime不能为空,默认值为0001-01-01 00:00:00,但SQL SERVER中日期最小值是1900-01-01 00:00:00。 阅读全文
VS2008 工具箱都是textbox(报表设计时)
2012-09-11 13:06 by Mike.Jiang, 830 阅读, 收藏, 编辑
摘要:
1 问题在用VS2008做report service时,出现这样一个问题:工具箱中都是textbox,其它的控件都没有reset也没用。2解决方法在网上找了很多解决方法,发现下面的方法有用,如果您也遇到这样的问题不妨试试下面的方法:1>在文件浏览器中,显示隐藏文件;2>打开目录:C:\Documents and Settings\当前用户名\Local Settings\Application Data\Microsoft\VisualStudio\9.0 (WinXP\server2003)3>删除文件:删除"toolbox.tbd", "t 阅读全文
Operation is not valid due to the current state of the object.
2012-06-29 13:37 by Mike.Jiang, 3002 阅读, 收藏, 编辑
摘要:
昨天客户突然要求将某个角色的所有权限都不分页的放在一个页面修改,本地测试OK,通过;但发布后,点击该页面提交后一直报下面的错误:异常信息: Operation is not valid due to the current state of the object.错误源:System.Web堆栈信息: at System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() at System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encodi 阅读全文
repeater 动态添加一行
2012-06-25 23:08 by Mike.Jiang, 9129 阅读, 收藏, 编辑
摘要:
背景:有时候,需要为列表动态地添加一行,并且在后台代码中能访问到,即repeater在后台动态的添加一行(如果您只需要在前台用js添加一行,那本文不适合您的应用)。当然很多其它的控件可以轻而易举地做到,但显示的样式可能不是我们想要的,所以在这样的情况下,我们需要用repeater做后台动态添加一行; 现状:在网上主要有,用session来保存状态。额,抛开性能问题不说,这样做也不能保存在页面上输入的数据。所以这次主要实现的是实现保存页面上输入的数据的状态,并在后台动态地添加一行。 解决方法:在后台恢复页面上的数据并存入DataTable,然后为DataTable添加一新行,并重新绑定; 前台. 阅读全文
数字 三位一节(逗号隔开)表示
2012-06-22 00:06 by Mike.Jiang, 11133 阅读, 收藏, 编辑
摘要:
当产品发布给客户使用时,客户总会有这样要求“我们需要所有的数据,都要三位用逗号隔开”。这样的要求一点也不过分,因为当数字达到10万以上时,真心不能一眼看出这个数据是多少。所以我们需要一个友好的数字显示方式,我们需要做一,需要将普通的数字转换为三位表示 1>我们需要在所有的列表中的数据; 2>文本框中的数据都要用三位表示; 3>在前台,输入文本框的值时,自动转换为三位一节的显示方式;二, 需要将三位显示的数据转换为普通的无逗号的数据(因为,如我们需要根据现有的文本框数值去计算)。 1>在后台将三位显示的数字转换为无逗号的数字; 2>在前台将三位显示的数字转换为无逗号 阅读全文
MySqlHelper c#访问MySql的工具类
2012-06-15 00:18 by Mike.Jiang, 10256 阅读, 收藏, 编辑
摘要:
最近一段时间一直在总结过去一年中的经验教训,突然发现还没毕业那会做的项目:一平台,语言是c#,数据库用MYSQL,所以需要写一个类似于SQLHelper的类,虽然不再使用了,拿出来晒晒,说不定哪天会有人需要,也可以参考下。View Code 1 /*---------------------------------------------------------------- 2 // File Name:MYSQLHelper.cs 3 // File Description: 4 * DataBase Deal Layer 5 * 6 // Create Mark: ... 阅读全文
代码调用存储过程超时,SQL Server Management Studio里运行很快 (改进)
2012-05-17 16:42 by Mike.Jiang, 5648 阅读, 收藏, 编辑
摘要:
原文:http://blog.csdn.net/iwteih/article/details/4515267今天同事用代码调用存储过程时超时,在SQL Server Management Studio里运行却很快就有结果,这和我上次遇到的情况一下,现在将解决方案记录如下,谨为大家作一提醒。 解决方案就是: 把存储过程中多余的空格删掉。 瞠目吧结舌吧,不过这就是现实,现实是残酷的,现实是无情的,哈哈 不一定是哪个空格就引起了超时,试着看吧上面的解决方案是将存储过程里的空格去掉,但如果这样,存储过程的格式就不是很友好后期维护也是很麻烦。痛定思痛,于是乎有了下面的解决方案:即然是在数据库里执行成功, 阅读全文