Google [站内搜索]

分类: Web编程预览模式: 普通 | 列表

在ASP.NET中值得注意的两个地方

在ASP.NET中ASPX页面的Page_Load事件有两个让人奇怪的地方,你应该记住它们:

a.有时Page_Load事件在你的ASP.NET页面里会发生多次。这种情况发生的一个可能的原因是你把ASPX页面的AutoEvenWireup值设置成了True。如果是这样,那么在“Sub Page_Load(ByVal Sender as System.Object,ByVal e as System.EventArgs”后面加上“Handles MyBase.Load”这一行就是没有必要的了。既然Visual Studio.NET能够自动的为你处理这个部分,你当然可以将AutoEventWireup值设置成False。

b.有时好象一个按纽的单击事件处理代码并没有运行。这里你应该检查Page_Load事件确保任何加载数据的代码(比方在下拉列表中绑定数据的代码)只在初始加载这个页面的时候运行,而不是在后来客户端数据返回的时候运行。一个检查这种情况的简单的方法是在你的Page_load事件处理函数里添加对Page.IsPostBack值的测试:False意味着这是页面第一次被加载,True则意味着已经发生了一次数据返回过程。 

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 4422

[私密日志] 私密日志

该日志是私密日志,只有博主或发布者可以查看!
分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 1946

判断访问是否来自搜索引擎的函数

<%
'是否真正的搜索引擎
Function IsWebSearch()
    IsWebSearch = False
    Dim Botlist,i

查看更多...

分类:Web编程 | 固定链接 | 评论: 6 | 引用: 0 | 查看次数: 5245

从子查询想到的...

使用子查询很多时候能使原本复杂的问题变得非常简单,在分页中使用子查询就是一个很好的例子。如果你有使用子查询的经验,那么类似"Select * from table1 where id in (Select id from table1 where age>18)"的查询语句应该不会陌生,此句有些问题但我们主要是用它来说明问题,呵呵。言归正传,我们来分析下这条查询语句,众所周知,对于in,其后面的文字串格式应为"项目1,项目2,项目3,项目4",那么Select id from table1 where age>18的结果也应是这种格式,那我们就用下边的语句来获取下其结果:

Dim strTemp
strTemp = objConn.execute("select id from table1 where age>18")

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 4431

站点调试总结

一直觉得有必要将平时调试经验写写,以便于日后再做参考,今天抽点时间来写一些,以后再做补充。有些错误信息能直接显示在网页上,这些错误一般也都比较常见,如"操作必须使用一个可更新的查询"、"缺少 'End'"、"项目在所需的名称或序数中未被发现"等等,不知道的话网上搜索下就能得到解决方法;另一些错误没有显示错误信息,调试难度相对前一种而言就大些,有时甚至只能凭经验和直觉去解决,下边总结的大部分都属于后者。

-----------------------------------------------------------
2007.03 OA系统中不能输入小数
调试经过:开始听商务讲完时直觉反应是不是页面中用JS限制了表单的输入内容,登陆后看了下发觉可以输入,但保存完再查看时就成了整数,那是不是程序中用了Cint,检查程序也没有做这样的处理,程序中甚至都没对内容过滤就直接原样保存了(汗!),最后发觉问题出在数据库上,保存该内容的字段类型为整型,改为单精就OK了。

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4738

XMLDOM对象操作实例

本例主要利用XMLDOM对象的一些方法和属性进行创建、查找、更新、删除节点及属性,也借以来说明在ASP中如何利用XMLDOM对象对XML文件进行一些简单的操作,主要代码如下:

创建

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 5208

优化分页中的SQL语句

平时我们分页时都是一次将全部记录读取到记录集中,再利用RecordSet对象的属性进行分页显示,这样在记录非常多时,占用的资源是非常可观的,以前也考虑过这个问题(见"关于分页的一点思路"),优化思路也正确:只读取需要的记录到记录集中,然而方法都围绕在取得每页头尾的ID上,今天再蓝色论坛上看到了另一个方法,非常简单,只是优化了下SQL语句,如下:
select top pagesize field1,field2 from tab1 where id >(select max(id) from (select top pagesize*(page-1) id from tab1 order by id)) order by id

注意不要写成下面的方式(实测access数据库三千多条数据慢很多):
select top pagesize field1,field2 from tab1 where id >(select max(id) from tab1 where id in(select top pagesize*(page-1) id from tab1 order by id)) order by id

这应该是最简单的方法了。

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 4439

你加Response.Buffer = true了吗?

闲着又拿出尚老师的《网络程序设计-ASP》翻了翻,原来要使用Response的Clear、Redirect等方法是必须把Buffer的属性设置为true的,否则会出错。而我平时都没有注意到这点,很随便,哪需要Redirect就直接用,也没出现什么错误,原来2000默认的把Buffer设置为true了。
以前见过一篇文章说是一些网页设计师习惯没去设置页面的背景色,都用默认的白色,但在一些系统中,网页默认的颜色却不是白色,这就出问题了,整个页面颜色不协调。可见,系统默认的并不可靠,安全起见,还是加个Response.Buffer = true吧。

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 5334

NextRecordset 方法

功能

通过执行一系列命令清除当前 Recordset 对象并返回下一个 Recordset。

语法

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 5273

RecordSet对象的属性和方法

属性

AbsolutePage属性:当RecordSet对象设有分页时,返回当前页码。  
AbsolutePosition属性:当前指针的绝对位置。  
ActiveConnection属性:指明进行SQL语句的数据库连接。  

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 5902