[.net training]代码cnBlogsGuestBook 1.0中展示出来的问题
2005-03-21 14:00
316 查看
首先,1.0 的代码并不是按照ASP.NET的思想来写的,就是用ASP.NET的皮包ASP的陷,Rayinuk看了1.0的代码后感到非常疑惑,相信许多没有看过ASP之类的朋友直接看这段代码感到非常的不解。
//帖子的content
strResponse+=dt.Rows[i]["msg_content"];
strResponse+="</TD>";
strResponse+="</TR>";
strResponse+="<TR>";
strResponse+="<TD align='right'>";
类似这样的写法使用过ASP一段时间的朋友肯定很清楚,比起我们先构架好table的代码,然后在需要显示动态内容的地方用<%=XXXX%>输出的方法在速度上要快很多。
其实,无论是ASP还是ASP.NET或是JSP什么的,最后浏览器接受的只是HTML,我们这样写的结果是让服务器去解释,然后将我们的代码全部翻译成HTML语言,最后浏览器来解释HTML,表现出结果。
我们把这段代码放在Page_Load()里,是因为ASP.NET会自动执行这个函数,看名字就是表示页面载入的时候执行的,所以能显示出来。顺便提一下,还有页面初始化触发的事件等也是自动运行的,而且有先后顺序,这个我们会通过一个专题来做解释。
从这段不正规的ASP.NET程序来看,它的确是可以运行的,但是由此我们来看一下ASP.NET如何能让我们做的更好呢?
当我们的Connection出现问题的时候,页面一定是一个error,当然,泄漏程序内部信息并不是好事,所以在ASP的时代我们都用一个error对象来处理,但是在.net的时代,我们可以用try来处理它。
dbname=Server.MapPath(@"data0621/database.mdb");
//建立一个连接数据库用的Connection
OleDbConnection conn=new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+dbname);
//打开这个连接
conn.Open();
对于conn.Open() 之前的语句,肯定不会出现错误,但是conn.Open()就不是了。如果ConnectionString中连接数据库的字符串有错误,那么错误就在conn.Open()上表现出来了,这是我们不希望的,因此,对于容易出现错误的地方,我们把它放到try里,如果错误发生了,我们就去catch这个exception,这个exception会描述错误信息,然后只告诉用户服务器这边出现了error。由于HTML的原因,这样可以既可以避免我们的web程序卡死在一个地方,又可以掩盖程序内部的错误信息,保护了程序的内容的隐蔽性。较为详细的内容稍后我们专题描述。
还是对于这段代码:
//帖子的content
strResponse+=dt.Rows[i]["msg_content"];
strResponse+="</TD>";
strResponse+="</TR>";
strResponse+="<TR>";
strResponse+="<TD align='right'>";
我们反复的使用strResponse+=XXX在.NET里不是一件好事,.net为我们准备了一个StringBuilder类来专门解决这类问题,两者在效率上可谓相差甚远,当然,这也是用一个专题来讲解的。
对于btnSubmit_Click()事件,我们想实现的功能就是为了把title和content内容写进数据库里,这里模仿了我们在ASP里常用的
Rs.addnew
…
最后再Rs.update一下。在ASP里我们用的ADO,虽然.NET里也可以用ADO,但是更好的ADO.NET可以更好的为我们来服务。ADO.NET不是几篇文章可以讲述清楚的,所以我们不准备对此讲解很深。如果用ASP.net让我们更好更快的做出一个Guestbook来呢?我们将通过寒枫天伤为我们做的2.0版的事例来踏入ASP.NET的殿堂。很少的代码就更快更好的实现了我们想要的功能,稍后我们马上贴出实现方法。
//帖子的content
strResponse+=dt.Rows[i]["msg_content"];
strResponse+="</TD>";
strResponse+="</TR>";
strResponse+="<TR>";
strResponse+="<TD align='right'>";
类似这样的写法使用过ASP一段时间的朋友肯定很清楚,比起我们先构架好table的代码,然后在需要显示动态内容的地方用<%=XXXX%>输出的方法在速度上要快很多。
其实,无论是ASP还是ASP.NET或是JSP什么的,最后浏览器接受的只是HTML,我们这样写的结果是让服务器去解释,然后将我们的代码全部翻译成HTML语言,最后浏览器来解释HTML,表现出结果。
我们把这段代码放在Page_Load()里,是因为ASP.NET会自动执行这个函数,看名字就是表示页面载入的时候执行的,所以能显示出来。顺便提一下,还有页面初始化触发的事件等也是自动运行的,而且有先后顺序,这个我们会通过一个专题来做解释。
从这段不正规的ASP.NET程序来看,它的确是可以运行的,但是由此我们来看一下ASP.NET如何能让我们做的更好呢?
当我们的Connection出现问题的时候,页面一定是一个error,当然,泄漏程序内部信息并不是好事,所以在ASP的时代我们都用一个error对象来处理,但是在.net的时代,我们可以用try来处理它。
dbname=Server.MapPath(@"data0621/database.mdb");
//建立一个连接数据库用的Connection
OleDbConnection conn=new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+dbname);
//打开这个连接
conn.Open();
对于conn.Open() 之前的语句,肯定不会出现错误,但是conn.Open()就不是了。如果ConnectionString中连接数据库的字符串有错误,那么错误就在conn.Open()上表现出来了,这是我们不希望的,因此,对于容易出现错误的地方,我们把它放到try里,如果错误发生了,我们就去catch这个exception,这个exception会描述错误信息,然后只告诉用户服务器这边出现了error。由于HTML的原因,这样可以既可以避免我们的web程序卡死在一个地方,又可以掩盖程序内部的错误信息,保护了程序的内容的隐蔽性。较为详细的内容稍后我们专题描述。
还是对于这段代码:
//帖子的content
strResponse+=dt.Rows[i]["msg_content"];
strResponse+="</TD>";
strResponse+="</TR>";
strResponse+="<TR>";
strResponse+="<TD align='right'>";
我们反复的使用strResponse+=XXX在.NET里不是一件好事,.net为我们准备了一个StringBuilder类来专门解决这类问题,两者在效率上可谓相差甚远,当然,这也是用一个专题来讲解的。
对于btnSubmit_Click()事件,我们想实现的功能就是为了把title和content内容写进数据库里,这里模仿了我们在ASP里常用的
Rs.addnew
…
最后再Rs.update一下。在ASP里我们用的ADO,虽然.NET里也可以用ADO,但是更好的ADO.NET可以更好的为我们来服务。ADO.NET不是几篇文章可以讲述清楚的,所以我们不准备对此讲解很深。如果用ASP.net让我们更好更快的做出一个Guestbook来呢?我们将通过寒枫天伤为我们做的2.0版的事例来踏入ASP.NET的殿堂。很少的代码就更快更好的实现了我们想要的功能,稍后我们马上贴出实现方法。
相关文章推荐
- cnblogs 代码高亮显示后的代码复制问题解决实现代码
- 关于html5与jsp页面同样的html代码展示的页面效果不一样的问题
- JDBC无封装下的标准代码和JDBC问题总结-V1.0
- 关于html5与jsp页面同样的html代码展示的页面效果不一样的问题
- Jquery 代码中插入php代码段并展示出来
- ScrollView或者ListView中嵌套ViewPager,展示不出来问题。
- hdu 1295 Move Move Look 数学问题,代码能猜出来,思路想不通
- 关于把设计时代码从运行时代码中分离出来的问题
- 解决从VIM复制出来的代码格式错乱或对齐的问题
- 钱币问题(自己没做出来,代码是看别人的改动了一下)
- 采集www.cnblogs.com 右侧边栏的最新新闻列表,以表格形式展示出来,无须入库。
- echarts图表中的点、柱形或者折线显示不出来,但是有数据的问题解决(另附后台返回数据实例代码)
- AXIS1客户端调用CXF服务接口-代码展示和问题解决
- ListView中adapter不展示(代码冗余度的问题)
- 解决从VIM复制出来的代码格式错乱或对齐的问题
- html5与jsp页面同样的html代码展示的页面效果不一样的问题
- 关于markdown怎么在博客园展示出来的问题
- cnblogs 代码高亮显示后的代码复制问题解决实现代码
- [.net training] cnBlogsGuestBook 1.0
- #新手常见问题:Eclipse代码提示不出来的问题。