木子屋 Dnawo's BLOG

分类:Web编程

共 944 篇

使用trace跟踪调试ASP.NET页面

将文档(DOCUMENT)的trace属性设置为true,这样就开启了ASP.NET页面的跟踪调试,在浏览器中打开页面看下,你会发现下边多出了许多信息:请求详细信息、跟踪信息、控件树、会话状态、应用程序状态、请求 Cookie 集合、响应 Cookie 集合、标头集合、响应标头集合、窗体集合、Querystring 集合、服务器变量,每次操作上边的信息都会相应的发生变化,这样就可以分析你感兴趣的内容了。

C#用户控件:Div控件

本控件在页面中输出一个div,并可通过编程方式设置div的宽、高、背景颜色及文本。由于是初次制作自定义控件,过程中碰到了不少问题,下边将整个制作过程分成了几个阶段,每个阶段中都解决了一些问题。 阶段一:Div控件雏形 本阶段实现了在页面上显示自定义控件,并实现了可通过编程方式设置控件各项属性,问题是每次页面回传后控件总是被初始化,即无法保存回传前的状态信息。 阶段二:能保持状态的Div控件 在阶段一的基础上实现了页面回传后仍能保存原先的状态信息,可以看到其中使用ViewState代替了阶段一中的私有字段。 说明:ViewState中保存的值都是System.Object类型,所以get时必须进行转换!…

区分C#的字段和属性

在上边例子中我们都知道_AA是字段,BB是属性,再看下边的例子: _AA是字段还是属性?BB是字段还是属性?突然发现长久以来潜意识的竟用private和public来区分字段还是属性了,潜意识认为private的是字段,public的是属性!实际上,字段还是属性的区别应是看有无访问器,无访问器的为字段,有访问器的则为属性,所以,第二个例子中_AA仍是字段,BB仍是属性。我们再来看一个例子: 对外界而言,访问上边字段和属性其实中一样的,那字段和属性有什么区别呢?个人认为主要区别有以下几点: ·可在get和set块对属性的取值范围等做限制,而字段的范围只取决于其类型,无法精确控制; ·可通过设置get和set块的有无,设置属性的读写权限;…

ASP.NET用户控件:增强型CheckBoxList控件

.NET的CheckBoxList控件允许进行多项选择,但是其SelectedValue属性值却只能取到第一个选择项的值,如果要获取全部选择项的值必须遍历各项判断选中再获取,同样你也无法一次设置多个项为选中状态,比较麻烦。下边我们重新创建一个CheckBoxList控件,他继承于CheckBoxList类,增加了两个属性NewSelectedText和NewSelectedValue,可一次性设置或获取CheckBoxList实例全部选择项的Text和Value值。 自定义CheckBoxList控件源码 打开Microsoft Visual Studio 2005,在类库中添加新项,选择"Web 自定义控件",名称为CheckBoxList.cs:…

泛型方法和非泛型方法优先级

为了使用泛型方法,我们先定义一个Test类: 下边我们再定义一个泛型方法和一个非泛型方法: 最后通过实例我们来比较下优先级: 把非泛型方法注释掉再进行测试,这下都是调用泛型方法了。 可见,非泛型方法的优先级高于泛型方法,此时调用非泛型方法不能省略部分。

WEB应用程序中分组数据的处理方法

在WEB应用程序中经常会碰到类似下边的分组数据: 这样的数据分散在WEB应用程序各个部分中,如果将他们都写死在页面,一旦要修改某项数据,将会是一件比较麻烦的事情,很自然的我们就想将他们存储到某个地方做为数据源,然后都从这边读取即可,接下来的问题是存储在哪边?最终我的选择是将他们存储在xml文件中。下边是一个简单的例子: Data.xml: Default.aspx: Default.aspx.cs: Default.aspx.cs(泛型方法版):

ASP.NET借助URLRewriter实现URL重写

使用URL重写可以实现用http://www.mzwu.com/d100.aspx类似的地址来访问http://www.mzwu.com/default.aspx?id=100,这样的好处非常多:一是隐藏了真实路径,提高应用程序的安全性;二是有利于搜索引擎收录;三是便于记忆。下边我们来看看在ASP.NET中怎么实现URL重写: 下载安装URLRewriter,添加引用URLRewriter.dll,在Web.config中配置: OK,这样就实现了URL重写,运行测试就能看到结果了。不过,这样还存在一个问题:当页面中进行回调时,URL会变成真实的地址http://www.mzwu.com/default.aspx?id=100,所以我们得花点时间再来解决下这个问题。…

ASP的URLDecode函数

我们知道,ASP的Server对象有个URLEncode方法可以对地址进行编码,但却没有相应的解码函数,下边的这个函数可以实现对URLEncode的解码:

"回发或回调参数无效"解决方法

服务器端使用 DropDownList1.SelectedValue 获取选择项的值: 当选择项是"张三"或"李四"时程序运行正常,当选择项是使用客户端js增加的"王五"时,程序运行出错: 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。 将EnableEventValidation的值设置为false后,程序不再出错,但在服务器端也无法获取"王五"这一项的值!改用 Request 才能正常获取值: