[随笔分类]网络开发和设计
文章平均质量分 65
chen_xizhang
服务于微软.NET 平台,SQL Server 平台,Office平台
架构师、资深顾问,高级讲师
展开
-
在javascript中检索浏览器信息
在网页编程中,我们经常需要检测浏览器的一些信息。下面我写了一个简单的例子,使用了MicrosoftAjax客户端脚本库和jquery脚本库来检测这些信息 .csharpcode, .csharpcode pre{ font-size: small; color: black; font-family:原创 2010-01-30 02:43:00 · 558 阅读 · 0 评论 -
为Windows Server 2000开发和部署ASP.NET 3.5的应用程序
这是目前手头在处理的一个项目,昨天到客户那边算是开工会议。总体设计方案和架构我上周已经写出来,昨天是去检查了一下有关的服务器和客户端运行环境。总结下面几点 1. Windows Server 2000不能安装.NET FRAMEWORK 3.5 所有只能退而求其次,安装了.NET FRAMEWORK 2.0 SP1(注意,必须是SP1) 在安装这个之前又必须安装Windows Installer 3.1(请不要小看这一点,最好提前下载好,因为很多客户那边的服务器上不可以上外网的,昨天这个也折腾了很久)原创 2010-04-23 23:47:00 · 921 阅读 · 1 评论 -
ASP.NET & JAVASCRIPT: 在Javascript代码中访问服务器控件的ID
这不是一个新话题,虽然是一个小问题,但也是很多做ASP.NET开发的朋友比较经常遇到的。 ASP.NET有一套控件模型,或者说在页面中有一个控件树,从最顶层的页面(Page)开始,一层一层地进行包含。下面是一个简单的范例 这种机制当然会有它的目的,或者说也有一些好处。但却给编写JAVASCRIPT脚本的朋友们带来了实实在在的麻烦。为什么这么说呢? 例如,我们在一个用户控件中有以下的一个服务器控件和一些静态的文本 这是正文内容这是正文内容这是正文内容这是正文内容这是正文内容这是正文内容这是正文内原创 2009-10-09 14:37:00 · 595 阅读 · 0 评论 -
在javascript中进行cookie的读写操作
<br />http://www.w3.org/1999/xhtml"><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />原创 2009-11-04 14:43:00 · 349 阅读 · 0 评论 -
Mastering Javascript Arrays 【转载】
本文转载自 http://www.hunlock.com/blogs/Mastering_Javascript_Arrays Believe it or not, the very first version of Javascript shipped without Arrays. Subsequent versions made up for the oversight and modern Javascript Arrays are powerful structures indeed, even原创 2009-11-06 10:00:00 · 532 阅读 · 0 评论 -
ASP.NET : 为服务器控件或者页面添加异步行为
ASP.NET提供了网络开发的新平台,较之其他一些网络开发技术,它提供了服务器控件极大地方便了开发人员。但服务器控件也不是只有优点,有时候如果控件本身逻辑比较复杂,就会导致页面的效率受到较大的影响,用户的感觉就是页面很慢。那么,有没有办法既利用到服务器控件的好处,又能尽可能地改善用户的体验呢? ASP.NET提供了一个很好的接口来实现这样的需求:ICallbackEventHandler。也就是说,控件首先可以先Render一部分静态的内容到页面上,然后再可以用javascript的方式来调用自己的另外一些原创 2009-11-09 10:53:00 · 515 阅读 · 0 评论 -
如何压缩javascript和css文件?
在网站开发过程中,我们会有很多javascript文件和css文件。这些文件其实就是文本格式的,那么如何压缩他们使其体积更小,并且通过压缩达到一定意义上的加密呢? 我找了几个方面的工具,给大家参考参考 http://developer.yahoo.com/yui/compressor/ 看了介绍貌似很强,但要用java去运行。放弃了 http://dean.edwards.name/packer/ 这个工具还有一个可以下载的版本原创 2009-11-23 14:09:00 · 599 阅读 · 0 评论 -
如何在页面中检测ActiveX控件的安装情况
接上一篇,因为通过IE的安全性等等限制,我们看到一般会直接被禁用掉,而无法提示用户进行安装。所以,如果我们想在页面中自己检测ActiveX控件的安装情况下,那么该怎么办? 然后我们来测试一下。当目前还没有安装的话,会把按钮禁用掉。然后显示一个下载的链接。这样就和谐了 如果安装了之后呢 点击“调用ActiveX”按钮,ActiveX控件正常工作了原创 2009-11-27 10:43:00 · 912 阅读 · 0 评论 -
如何让javascript也支持多语言
关于这一点,第一种解决方案是使用多个js文件,下面这个文章介绍了着个做法 http://dcao.javaeye.com/blog/513944 我基本上还是觉得这种方法不错,就是在导入有关js的时候动态地决定使用什么语言 我的做法如下 注意,我是通过一个页面级别的变量来实现这个功能的。 而且为了不需要再每个页面都去定义那个变量,我做了一个基类 还有一个做法我也比较欣赏,尤其是说,js文件中需要做多语言不多,这种情况如果做多个文件,就比较不合算。我们可以让人使用一个文件,但里面将需要进行多语言原创 2009-11-28 06:18:00 · 1407 阅读 · 0 评论 -
Silverlight: 服务器配置
要让网站可以运行Silverlight应用程序,需要添加有关的MIME类型 .xaml application/xaml+xml .xap application/x-Silverlight-app IIS 6的话,需要手工添加一下,而IIS 7,默认就有了原创 2009-12-21 07:06:00 · 364 阅读 · 0 评论 -
如何访问嵌套母版页中的控件
这是今天遇到的一个小问题。我们知道要访问母版页的控件的话,最简单的做法就是FindControl。但是如果该母版页本身是嵌套的话,就不是那么简单的了 下面这个例子是针对一个两层嵌套的母版页。大致意思是,要先获取到最顶层母版页的ContentPlaceHolder1这个控件,然后再进去FindControl employeeList = (ListBox)this.Master.Master.FindControl("ContentPlaceHolder1").FindControl("employeeLis原创 2010-04-11 11:05:00 · 893 阅读 · 0 评论 -
如何在AJAX应用中访问ADO.NET Data Service
下面这个例子演示了如何使用ASP.NET AJAX的技术访问到ADO.NET Data Service,并且实现了数据的增删改查等常规操作 注意,这个DataService.js是单独的,它实际上是封装了四个操作//-------------------------------------原创 2010-02-28 15:38:00 · 532 阅读 · 0 评论 -
ASP.NET AJAX:使用MicrosoftAJAX脚本库的方式
第一种方式是在页面上添加一个ScriptManager的服务器控件,这种情况适合于ASP.NET开发。 其实这个控件会自动知道要下载那些js文件,而这些js文件是通过资源的方式提供的。注意看解决方案管理器中的那些脚本文档。为了进行调试,它这里动态加载了debug的版本 .csharpcode, .csharpcode pre{ font-size: smal原创 2010-01-30 02:52:00 · 618 阅读 · 0 评论 -
Understanding ScriptResource and WebResource in ASP.NET
这是一个小问题,大家如果细心的话,下面的截图中,调试状态下生成的脚本有两种方式,一种是WebResource,还有一种是ScriptResource。为什么会有这个区别呢? 下面这个文章做了一些解释 http://bchavez.bitarmory.com/archive/2008/07/28/understanding-scriptresource-and-webresource-in-asp.net.aspx 简单地说,WebResource泛指所有可以嵌入在程序集中的资源,包括脚本,图片,等等原创 2010-01-30 03:15:00 · 438 阅读 · 0 评论 -
Script# 随想
之前就听说这个开源项目,是一个微软的架构师发明的一套新的语言。其大致的意思是,采用类似C#这样的语法编辑javascript,而且可以编译(只不过不是编译成MSIL,而是js代码) http://projects.nikhilk.net/ScriptSharp 试用了一下,感觉意义不大。谁会真的去用呢? nikhik无疑是聪明绝顶的,可惜这个设计与大趋势不符合。现在javascript的编写并不是一个问题,同时还有一点,写js的时候,谁都不愿意和具体的哪一个浏览器,或者哪一个平台绑定。这估计也是Jquery原创 2010-01-31 01:23:00 · 432 阅读 · 0 评论 -
WCF REST Configuration for ASP.NET AJAX and plain REST Services
该文请参考http://www.west-wind.com/WebLog/posts/310747.aspx If you've been thinking about using ASP.NET Ajax in combination with WCF, life got a lot easier with .NET 3.5 and the new REST support. The webHttp binding along with the ASP.NET AJAX specific version原创 2010-01-31 13:01:00 · 510 阅读 · 0 评论 -
AJAX MANAGER
http://plugins.jquery.com/project/AjaxManager AJAX MANAGER (BLOCK, ABORT, QUEUE, CACHE) January 15, 2008 - 2:14am — trixta Average rating (12 votes) Helps you to manage Ajax requests and responses (i.e. abort requests, block requests, orde原创 2010-02-04 14:42:00 · 548 阅读 · 0 评论 -
CSS hack:区分IE6,IE7,firefox
http://www.div-css.com/html/standard/hack/1136667.html 区别不同浏览器,CSS hack写法: 区别IE6与FF: background:orange;*background:blue; 区别IE6与IE7: background:green !important;background:blue; 区别IE7与FF: background:orange; *background:green;原创 2010-02-05 11:58:00 · 474 阅读 · 0 评论 -
如何在ajax请求中设置特殊的RequestHeader
现在ajax应用已经相当广泛了,有很多不错的ajax框架可供使用。ajax是一个异步请求,也主要是一种客户端的脚本行为。那么,如何在请求之前为请求添加特殊的一些头部信息呢? 下面是一个简单的例子,我用jquery编写,它的ajax函数中,有一个beforeSend方法,这个方法接受一个参数,就代表了发起异步请求的XMLHttpRequest对象,我们可以用该对象的setRequestHeader方法实现我们的目的原创 2010-02-28 13:44:00 · 740 阅读 · 0 评论 -
如何让WCF服务更好地支持Web Request和AJAX调用
WCF的确不错,它大大地简化和统一了服务的开发。但也有不少朋友问过我,说是在非.NET客户程序中,有何很好的方法直接调用服务吗?还有就是在AJAX的代码中(js)如何更好地调用WCF服务呢? 我首先比较推荐的是可以通过页面静态方法等方式来转接对WCF的服务。尤其是WCF是属于别的网站的一部分的时候。 但今天我要讲解一下,如果和WCF在一个网站内部,那么js脚本应该如何更好地调用WCF呢?或者说,为了支持js更好地访问,WCF服务在设计的时候应该注意什么呢? 1. 创建服务 2. 修改接口 为了做演示,我原创 2010-02-28 13:46:00 · 2220 阅读 · 0 评论 -
ADO.NET Data Service中如何自定义Operation
我们之前既然说到,ADO.NET Data Service其实是一个WCF服务。那么,在WCF中常见的Operation是否还存在呢?要知道,在WCF中,最主要的两个合约就是ServiceContract和OperationContract。 ADO.NET Data Service让我们几乎忘记了这些,因为其实在很多时候确实不需要,ADO.NET Data Service是基于REST风格的设计,所以很多请求其实都可以通过修改uri来实现。例如,如果我们需要筛选,就通过$filter,如果需要排序,就通过原创 2010-02-28 14:16:00 · 604 阅读 · 0 评论 -
如何在javascript中访问页面定义的变量
如果我们需要在javascript访问到页面中定义的变量,大致是如下的语法 //这是2010年1月1日增加的代码 var ismanager = ""; if (ismanager == "true") { $("tr#mydepartment").show(); } else { $("tr#mydepar原创 2010-01-01 02:35:00 · 773 阅读 · 0 评论 -
javascript中类的定义和使用{转载}
本文转载自:http://www.cnblogs.com/klesh/archive/2007/09/28/understanding-classs-definition-in-javascript.html 关于如何在Javascript中定义类,网上可以找到不少的文章。在开始讲之前,还是先来看看定义类的两种基本方式吧: (1) 利用函数构造类型。function Foo(text, url) { this.text = text; this.url = url; this.render原创 2010-01-02 13:36:00 · 460 阅读 · 0 评论 -
如何在使用ActiveX时通过Param指定属性值
在某些时候,我们需要在网页中使用一些ActiveX控件,其实这些控件也就是一个class。那么如何给这些class指定属性值呢? .csharpcode, .csharpcode pre{ font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/原创 2010-01-09 14:30:00 · 915 阅读 · 0 评论 -
jquery>editable plugin
http://arashkarimzadeh.com/index.php/jquery/7-editable-jquery-plugin.html 这个插件可以让页面的一个区域变得可以编辑。 这个作者也很逗,他的网站很搞笑原创 2010-01-21 10:20:00 · 746 阅读 · 0 评论 -
javascript是否真的就不能实现跨站请求呢?
这是一个老问题,出于安全考虑,javascript是没有办法直接调用不同网站的资源的,例如下面的脚本就会出错 .csharpcode, .csharpcode pre{ font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; backgrou原创 2010-01-26 10:33:00 · 623 阅读 · 0 评论 -
AJAX,JSON与MVC
有几个特殊之处 1. MVC框架中包含了一个特殊的JSONActionResult,可以直接返回JSON对象,注意它的格式与之前的asmx和页面静态方法都不一样,它直接就是一个JSON对象 2. 服务端和客户端编程都相对简单了。服务器端无须明确序列化,而客户端也无须解析JSON字符串了,因为返回的结果本来就是一个JSON对象 第一部分:Controller中的设计using System;using System.Collections.Generic;using System.Linq;原创 2010-01-31 13:23:00 · 594 阅读 · 0 评论 -
你好,色彩!
这是关于反色和补色的一些基础知识 转载自:http://hi.baidu.com/graydeer/blog/item/300a94513367502443a75b33.html 现在来讲讲Photoshop(PS)“图像(Image)>调整(Adjust)”菜单的功能。你可以使用《图像的简单玩法》中的演示程序和本文提供的公式来测试一些图片。 反相(Invert) 关键词:Inverse;Negative Film;反色;补色;反转图像色彩;翻转图象颜色;反转负片;反转负冲;反转片负冲;负片效果;底原创 2010-02-01 13:46:00 · 671 阅读 · 0 评论 -
如何实现多文件下载(实例)
有网友看了我之前喜写的多文件下载的文章,想自己实现一个类似的。但遇到困难。我这里准备了一个可以参考的完整的例子。其实不难,我希望这位朋友还是要把基础功夫学好。 1. 页面原创 2010-03-17 03:54:00 · 823 阅读 · 0 评论 -
ASP.NET自定义身份验证的实践
事情是这样的:有一套ASP.NET应用程序,用户一般会用工号登录,但是我们希望在应用程序中方便地访问到该用户相关的其他信息,例如用户名或者工厂名称。 按照标准的ASP.NET Membership的做法,它不能提供这样的信息。Page.User.Identity.Name只是返回用户登录时使用的名称,在本例中是工号。 我们的目标是,能不能实现Page.User.Identity.Name显示用户的真实名称,而不是工号,甚至还可以显示其他的一些信息。 要实现这样的功能,我的思路是自定义身份验证。下面就是我原创 2010-11-05 23:06:00 · 1786 阅读 · 1 评论 -
使用jquery构造自己的多级菜单
最近在讲AJAX方面的一些理论和在项目中的应用。我介绍到了AJAX的一些内部原理,以及两套AJAX框架:Microsoft ASP.NET AJAX和jquery. 我个人很喜欢Jquery,我对它的赞美从不吝啬。呵呵 关于Jquery,其实之前就写过不少,有兴趣的可以参考 http://zzk.cnblogs.com/s?w=blog%3Achenxizhang%20jquery 课程中讲到一个问题,就是如何动态生成多级菜单。我知道网上有不少类似的菜单。但既然咱学了Jquery,为什么不可以尝试自己实原创 2010-11-07 01:48:00 · 880 阅读 · 0 评论 -
html5及其相关学习资源介绍
这段时间,关于Html5的议论甚嚣尘上(包括围绕Silverlight是否已死的争论),甚至有的客户已经在打听这方面的应用。当然,我的回答是:目前还没有应用。 html5意味着什么,我想当然意味着一次洗牌。简单地说,它将改变网页描述内容的方式,这当然是革命。 说老实话,这可不是一个简单的事情,绝对不可能一蹴而就。 我自己html5也了解不深,不发表太多评论。考虑到可能也有很多朋友想要了解这方面的东西,所以整理一些资料出来,也可以给大家参考参考吧 http://www.w3.org/TR/html5/ 这原创 2010-11-08 00:14:00 · 576 阅读 · 0 评论 -
在jquery中处理带有命名空间的XML数据
这一篇记录一个小技巧。 如果你在做AJAX应用,则你可能经常会用到jquery(或者其他框架)处理服务返回的数据。如果用Jquery处理Json格式,将是相当方便的。但不幸的是,很多服务返回的数据仍然是XML格式的。 jquery对于xml这种数据的处理是内置支持的,这一点没有任何问题。但前提是返回的数据没有带任何命名空间。例如下面这份数据"1.0" encoding="utf-8" ?>原创 2011-06-12 10:04:00 · 870 阅读 · 0 评论 -
理解 JavaScript 闭包{转载}
本文转载自:http://www.cn-cuckoo.com/2007/08/01/understand-javascript-closures-72.html 要成为高级 JavaScript 程序员,就必须理解闭包。 本文结合 ECMA 262 规范详解了闭包的内部工作机制,让 JavaScript 编程人员对闭包的理解从“嵌套的函数”深入到“标识符解析、执行环境和作用域链”等等 JavaScript 对象背后的运行机制当中,真正领会到闭包的实质。 原文链接:JavaScript Closures原创 2010-01-02 13:45:00 · 346 阅读 · 0 评论 -
jquery ui中 accordion的问题及我的解决方法
jquery有一套所谓的ui组件,很不错的。如果有兴趣的朋友,可以参考http://jqueryui.com/ 但其中的accordion,我使用的时候发现一些问题。如果按照demo那样,写一些静态内容,倒也正常。但如果每个面板里面的内容是动态绑定的,则会发生高度变小,然后出现滚动条的诡异现象 li.formli { list-style-type: none; width原创 2010-01-02 11:02:00 · 690 阅读 · 0 评论 -
javascript, json, xml
在网络编程中,我们经常需要用到javascript,这些客户端脚本又经常需要与服务端进行异步的通讯,提交并接收数据。下面这个例子演示了如何设计服务,如何编写脚本 1. 服务端,这是一个ashx文件 需要添加两个引用 System.Runtime.Serialization和System.ServiceModel.Webusing System.Web;using System.Web.Services;using System.Runtime.Serialization.Json;using S原创 2010-01-13 02:18:00 · 498 阅读 · 0 评论 -
jquery:validate的例子{转载}
该文档转载自 http://ideabean.javaeye.com/blog/363927 官方网站 http://bassistance.de/jquery-plugins/jquery-plugin-validation/ 酷就一个字,我就说一次,嘿嘿 jQuery表单验证例子 jQuery验证原创 2010-01-24 10:26:00 · 595 阅读 · 0 评论 -
IIS7配置Gzip压缩{转载}
本文转载自:http://www.imkevinyang.com/2009/06/iis7配置gzip压缩.html 开启配置HTTP压缩(GZip) 在IIS7中配置Gzip压缩相比IIS6来说实在容易了许多,而且默认情况下就是启用GZip压缩的。如果没有,则可以再功能视图下找到“压缩”项,进入之后就会看到“静态内容压缩”和“动态内容压缩”两个选项,勾上即可。 配置启用压缩的文件类型及其他选项 当开启GZip压缩之后,IIS并不是对所有内容都启用了压缩,而是有选择的进行压缩。遗憾的是,我们无法直接在I原创 2010-01-30 03:22:00 · 1108 阅读 · 0 评论 -
javascript中对json数据的处理
目前我们有两种常见的手段,在javascript中,对json数据进行处理:包括将一个json对象转换为字符串,以及将一个字符串还原为一个json对象 1. 使用json2.js处理 http://www.json.org/json2.js 大概只有2k,很好很强大 示例代码: var employee = { Name: "chenxizhang", Country: "China",原创 2010-01-30 14:34:00 · 593 阅读 · 0 评论 -
ASP.NET 页面中的 ValidateRequest属性
ValidateRequest 指示是否应发生请求验证。如果为 true,请求验证将根据具有潜在危险的值的硬编码列表检查所有输入数据。如果出现匹配情况,将引发 HttpRequestValidationException 异常。默认值为 true。 该功能在计算机配置文件 (Machine.config) 中启用。可以在应用程序配置文件 (Web.config) 中或在页上将该属性设置为 false 来禁用该功能。 注意: 该功能有助于减少对简单页或 ASP.NET 应用程序进行跨站点脚本攻击的原创 2010-02-28 13:45:00 · 1375 阅读 · 0 评论