为 IE6 和非 IE6 选用不同的 CSS 文件

为什么拟这样的一个标题,而不是为不同浏览器、或不同的 IE 版本选用不同的样式文件呢,其时那些问题都不难找到。这里我主要是考虑到 IE6 与其他版本 IE(如 IE7, IE8 等)、或其他类型浏览器(像 FireFox, Opera, Chrome 和 Safari) 存在较大的差异性。IE7 与 IE8 已较接近,其他类型浏览器一般都会自动升级到较新版本,由于盗版与 XP 的因素,在国内使用 IE6 还奇怪的多。

所以在样式布局方面就有必要区分出 IE6 与非 IE6,让他们选用不同的样式文件来进行界面排版,这就是产生本文的切实目的。另外在其他非 IE6 浏览器中可以通过 CSS Hack 技术来在同一个 CSS 文件里进行统一表现。

当然、仍旧是使用条件注释的方式,就像许多编程语言的条件编译,也可说是 HTML 中的条件预 阅读全文 >>

为已有的 WebForm 项目引入 Asp.Net MVC 框架

Asp.Net 的项目多数还是应用的 WebForm 进行开发,MVC 框架随着在其他语言中的兴起,也进入了 Asp.Net 领域,那就是 Asp.Net MVC,现在的正式版本是 2.0,已经出了 3.0 Preview 版的。

WebForm 对于小项目的快速开发还是很方便的,对应对业务逻辑复杂而庞大的项目时,分层就很有必要的,MVC 恰到好处的层次结构,让人艳羡的。除此之外,应用了 MVC 框架的项目可测试性是 WebForm 无法比拟的,开始可以很好的进行单元测试了。 阅读全文 >>

XSLT 中用 JavaScript 自定义函数处理参数

曾经写过一篇 XSLT 文件中使用C#/JScript/VB 自定义函数 怎么用 C#/JScript/VB 在 XSL/XSLT 中自定义函数。那时候原本想直接用 JavaScript 来自定义函数,因为 JavaScript 哪台机器上都能跑,但出了些问题,所以实际中是用的 C# 自定义的 XSLT 函数。

这样的问题无论从哪方面讲都一直回避不了,情况是如果在 JavaScript 定义函数中直接把传入的参数返回是没问题的,但要作任何的处理,或者调用 JS 函数都会失败。XSLT 中的自定义函数,不对参数进行加工处理是没有意义的。比如在 XSLT 中写如下函数: 阅读全文 >>

C# 如何连接操作 MySQL 数据库(使用 SourceForge 上的驱动)

前面一篇 http://yanbin.blog/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 帮助文档。 阅读全文 >>

C# 如何连接操作 MySQL 数据库(使用官方驱动)

MySQL 以其免费和足够的性能受到很大的青睐,当然对于国内小公司,甚至是大公司如果对版权看得薄,敢冒险的话,随便装个 SqlServer、DB2、Oracle 都行。对于 SqlServer 数据库,因其与 MS 是一家,自然在 .net 类库中有内建支持,假如 MySQL 就得找第三方的驱动了 -- .net 中多讲 Provider。在这里我也是作为一个预研专题,记录下 C# 连接 MySQL 的两种方法,分别使用 MySQL 官方的和 SourceForge 上一个开源的 MySQL 驱动。至于 ODBC 的办法,就不提了,觉得意义不大,同样要安装个 MySQL ODBC 驱动,而且 ODBC 又如此之笨拙。

使用 MySQL 官方区动连接操作 MySQL 数据库 阅读全文 >>

FeedBurner 不能用了,还有 FeedSky,附个相关插件

FeedBurner 是一个很好的 Rss Feed 托管服务,它能让你详细获悉 Feed 的订阅情况,可是大概是因为 FeedBurner 成了消息快捷传播的通道,让某些人谎了神,而被伟大的墙禁了。针对我们的中文网站多数读者是中文语言的,所以 FeedBurner  这条路是走不太通了,只得找个替代品。

Google 上搜索了下,国内有个 FeedSky 做了类似的事情,比起 FeedBurner 可能还没那么专业,或者能很好的适应中国国情。于是我到 FeedSky 上申请了自己的 Feed: http://feed.feedsky.com/unmi。如果用户是通过这个Feed 的代理来的,我们可以在 FeedSky 上了解到我们网站的 Rss 的阅读订阅情况 。 阅读全文 >>

form.action 怎么就不能设置表单的处理页了呢?

一个网页里时常会写多个提交按钮,可以点击不同按钮时分别设置某个隐藏域的值,都是提交到同一个页面,然后在处理页面可以知道应如何区别对待。也可能各自的 onclick 事件中改变 form 的 action 属性指向不同的处理页面后提交表章。在处理表单页面逻辑复杂且无多少相关性的时候,我会选择后一种处理方式。

可以今天碰到一个事情,在点击某个提交按钮,欲用(假设 form 的 id 为 'post')

document.getElementById('post').action='http://yanbin.blog/some' 阅读全文 >>