Asp.Net 的项目多数还是应用的 WebForm 进行开发,MVC 框架随着在其他语言中的兴起,也进入了 Asp.Net 领域,那就是 Asp.Net MVC,现在的正式版本是 2.0,已经出了 3.0 Preview 版的。
WebForm 对于小项目的快速开发还是很方便的,对应对业务逻辑复杂而庞大的项目时,分层就很有必要的,MVC 恰到好处的层次结构,让人艳羡的。除此之外,应用了 MVC 框架的项目可测试性是 WebForm 无法比拟的,开始可以很好的进行单元测试了。 阅读全文 >>
Asp.Net 的项目多数还是应用的 WebForm 进行开发,MVC 框架随着在其他语言中的兴起,也进入了 Asp.Net 领域,那就是 Asp.Net MVC,现在的正式版本是 2.0,已经出了 3.0 Preview 版的。
WebForm 对于小项目的快速开发还是很方便的,对应对业务逻辑复杂而庞大的项目时,分层就很有必要的,MVC 恰到好处的层次结构,让人艳羡的。除此之外,应用了 MVC 框架的项目可测试性是 WebForm 无法比拟的,开始可以很好的进行单元测试了。 阅读全文 >>
曾经写过一篇 XSLT 文件中使用C#/JScript/VB 自定义函数 怎么用 C#/JScript/VB 在 XSL/XSLT 中自定义函数。那时候原本想直接用 JavaScript 来自定义函数,因为 JavaScript 哪台机器上都能跑,但出了些问题,所以实际中是用的 C# 自定义的 XSLT 函数。
这样的问题无论从哪方面讲都一直回避不了,情况是如果在 JavaScript 定义函数中直接把传入的参数返回是没问题的,但要作任何的处理,或者调用 JS 函数都会失败。XSLT 中的自定义函数,不对参数进行加工处理是没有意义的。比如在 XSLT 中写如下函数: 阅读全文 >>
前面一篇 http://unmi.cc/csharp-operate-mysql-1 讲了 C# 里用 MySQL 官方驱动怎么去连接操作 MySQL 驱动,就是 MySQL 的 JDBC 驱动有两个一样,针对 .NET 的 MySQL 驱动也有两个。这里介绍的就是 .NET 连接 MySQL 的第二个驱动,来自于 Sourceforge 的开源驱动。
首先,到 http://sourceforge.net/projects/mysqldrivercs/ 下载,写此篇时下载的版本是 MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2.0.exe。安装,其中带有源代码和例子,只有三个动态库 libmySQL-4.0.dll、libmySQL.dll、MySQLDriverCS.dll,光看动态库好像不及官版的驱动强大。把安装目录中的 MySQLDriverCS.dll 引入到你的 C# 项目中就可以开始用了。具体用法还需时刻关注安装目录中的 help\SDK\Documentation.chm 帮助文档。 阅读全文 >>
MySQL 以其免费和足够的性能受到很大的青睐,当然对于国内小公司,甚至是大公司如果对版权看得薄,敢冒险的话,随便装个 SqlServer、DB2、Oracle 都行。对于 SqlServer 数据库,因其与 MS 是一家,自然在 .net 类库中有内建支持,假如 MySQL 就得找第三方的驱动了 -- .net 中多讲 Provider。在这里我也是作为一个预研专题,记录下 C# 连接 MySQL 的两种方法,分别使用 MySQL 官方的和 SourceForge 上一个开源的 MySQL 驱动。至于 ODBC 的办法,就不提了,觉得意义不大,同样要安装个 MySQL ODBC 驱动,而且 ODBC 又如此之笨拙。
使用 MySQL 官方区动连接操作 MySQL 数据库 阅读全文 >>
FeedBurner 是一个很好的 Rss Feed 托管服务,它能让你详细获悉 Feed 的订阅情况,可是大概是因为 FeedBurner 成了消息快捷传播的通道,让某些人谎了神,而被伟大的墙禁了。针对我们的中文网站多数读者是中文语言的,所以 FeedBurner 这条路是走不太通了,只得找个替代品。
Google 上搜索了下,国内有个 FeedSky 做了类似的事情,比起 FeedBurner 可能还没那么专业,或者能很好的适应中国国情。于是我到 FeedSky 上申请了自己的 Feed: http://feed.feedsky.com/unmi。如果用户是通过这个Feed 的代理来的,我们可以在 FeedSky 上了解到我们网站的 Rss 的阅读订阅情况 。 阅读全文 >>
一个网页里时常会写多个提交按钮,可以点击不同按钮时分别设置某个隐藏域的值,都是提交到同一个页面,然后在处理页面可以知道应如何区别对待。也可能各自的 onclick 事件中改变 form 的 action 属性指向不同的处理页面后提交表章。在处理表单页面逻辑复杂且无多少相关性的时候,我会选择后一种处理方式。
可以今天碰到一个事情,在点击某个提交按钮,欲用(假设 form 的 id 为 'post')
document.getElementById('post').action='http://unmi.cc/some' 阅读全文 >>
做了个站点,一下想随时了解站点被访问的情况,或者进行 SEO。比如用 Google-Analytics, 也可能用了其他的站点统计服务,那就要求在页面中植入一段 JS 代码,如果每次有新需求都打开主题的 footer.php 文件来改就有点麻烦些。也存在往 header.php 中加入些信息的情况,比如 meta, css, js 等, 如果有个插件统一来管理有容易得多,省得直接改文件。
去 WordPress 中搜索 Footer 就能看到一些解决此问题的插件,有好几个。类似的东西多了也好让人眼花的,就像商场里买东西,太多的选择反而使人犹豫不决。我找了下,有以下几个插件: 阅读全文 >>
前面已有几篇讲了有关 WordPress 的语法加亮的插件,谁让我的日志中代码特别多呢。在此之前我都是要把编辑器切到 HTML 模式,然后写上 <pre class='brush:java'>CodeHere</pre>,然后回到 Visual 模式,最后贴上代码,麻烦就在于模式切换。如果能给 TinyMCE 编辑器加个按钮,点击后弹出窗口中选择语言类型,贴入代码,不用切换就能加亮你的程序代码就好,这里就是说这个的,当然你要是用 [ code lang='java']CodeHere[/code] 这样的 BBCode 来张贴代码倒简单些。 阅读全文 >>
URL 设计是 Web 设计中常被忽视的东西,事实上 URL 非常重要,这不仅是一个网页唯一的路径,还涉及到你的站点是否干净,友好。本文讲述 URL 这个司空见惯的 Web 元素中包含的大量不应为忽视的知识,准则与最佳实践。需要注意的是 W3C 建议使用 URI 取代 URL 一说。
首先是与 URL 有关的一些准则。
一个 URL 必须唯一地,永久地代表一个在线对象
URL 的最基本的使命是唯一地代表 Internet 上的一个对象,URL 必须和 Internet 上的对象一对一匹配。然而 阅读全文 >>
前面有一篇 用 SyntaxHighlighter Evolved 作为自已的代码加亮插件 介绍了 SyntaxHighlighter Evolved 插件。当前所用的版本是 2.3.8, 我现在是用 <pre class='brush:java'>code here</pre> 的形式来加亮代码,所以必须选上后台的 Load All Brushes 选项,用 [ code lang="js]code here[/code] 会动态的加载所需的 shBrushXxx.js 文件。后一种方式会有些问题,因而这里也是针对前一种方式来进行优化的,因为 Load All Brushes 选项一旦选上,页面将会依次:
<script type='text/javascript' src='...shBrushAS3.js?ver=2.1.364b'></script>
<script type='text/javascript' src='...shBrushBash.js?ver=2.1.364b'></script> 阅读全文 >>