飘灵儿 发表于 2015-1-16 23:40:45

ASP网页设计最好ASP.NET编程习气

想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的asp.net|编程|asp.net初学编程的伴侣常常喜好搜集一些很“奇奥”的编程技能,但是,技能的堆集常常并没有进步程序质量,反而引诱一些编程者一味寻求奇和新,健忘了基础编程习气的培育,倒霉于团队的互助,大概,这也是中国其实不短少伶俐的程序员,可是短少伶俐的开辟团队的一个缘故原由吧。在ASP.NET的开辟中,能够进修的技能很多,可是,一些基础的编程习气我们必定要养成,如许不仅能基本上进步程序质量和开辟效力,并且,也利于程序的浏览和团队开辟。假如本人写的程序只要本人能够看懂大概只要几团体能够看懂,即便程序技能神乎其技,关于程序的晋级和保护都是致命成绩。

1、毛病(之外)的处置
程序强健性最基础请求就是程序毛病的处置与捕获,在ASP.NET中,毛病的处置有和其他编程言语一样的机制,可使用Try…Catch…Finally等体例,这一点和ASP比拟具有较年夜的前进。并且,利用这些毛病处置办法,能够年夜年夜进步程序的可读性和程序调试速率,在这几个上风分离的情形下,我们加倍应当注重这一点。
关于毛病的处置,我们能够参考这篇文章(英文):
http://www.123aspx.com/redir.aspx?res=28336

2、字符串的处置
网页计划中,字符串的处置几近是最多见的了。利用ASP.NET今后,字符串的处置比ASP的速率快,并且,在ASP.NET中,专门增添一个字符串处置类StringBulider,利用这个类能够完成一些罕见的字符串操纵,而最次要的,利用StringBuilder能够年夜年夜进步字符串处置速率。
在ASP.NET中,最多见的就是利用“&”来毗连两个字符串:
DimmyOutputStringAsString="Mynameis"
DimmyInputStringAsString="Alex"
myOutputString=myOutputString&myInputString
Response.Write(myoutputString)
如今,我们来看看StringBuilder的利用,在利用StringBuilder的时分,我们对字符串能够做一些基础的操纵,好比Append、Replace、Insert、Remove等,如今我们来看详细举例。
(1)StringBuilder中Append的利用
Append和其他言语的Append一样,就是在字符串最初增添其他字符。
DimsbasStringBuilder=NewStringBuilder()
sb.append("<tableborder=1width=80%>")
Fori=0ToRowCount-1
sb.Append("<tr>")
Fork=0ToColCount-1
sb.Append("<td>")
sb.Append(dt.Rows(i).Item(k,DataRowVersion.Current).toString())
sb.Append("</td>")
Next
sb.Append("<tr>")
Next
sb.Append("</table>")
DimstrOutputasString=sb.ToString()
lblCompany.Text=strOutput
在以上的程序中,用Append办法完成了一个表格的输入,必要注重的一点是,StringBulider必需起首利用ToString()办法将其转化为String范例才能够间接输入。在以上的举例中,我们看到的全体是Append一个间接的字符串,实在,这个办法有一个很便利的功效,那就是能够间接Append其他范例的变量,好比能够间接Appemd一个Integer范例的数值,固然,我们输入今后主动转化为一个字符串:
SubPage_Load(SourceAsObject,EAsEventArgs)
DimsbAsSystem.Text.StringBuilder
DimvarotherAsInteger
varother=9999
sb=newSystem.Text.StringBuilder()
sb.append("<fontcolor=blue>能够Append其他范例:</font>")
sb.append(varother)
Response.write(sb.toString())
EndSub
(2)字符串中其他办法的利用
我们还可使用其他办法,我们来看看罕见的:
Insert办法,能够在指定地位拔出其他字符,利用办法:Insert(拔出地位,拔出字符);
Remove办法,能够在指定地位删除指定字数字符,利用办法:Remove(实在地位,字符数);
Replace办法,能够交换指定字符,利用办法:replace(被交换字符串,交换字符串)
字符串的详细先容和利用办法能够参考以下文章(英文):
http://aspfree.com/aspnet/stringbuilder.aspx
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemTextStringBuilderClassTopic.asp

3、数据库链接Connection和DataReader的封闭
在利用ASP编程的时分,我们就已晓得,在利用数据库毗连今后,必定要将毗连封闭,然后设置为NoThing。在Asp.NET中,我们仍旧必要如许利用,不外,在ASP.NET中,因为利用了ADO.NET,以是,在一些相干的处置方面,实践仍是有一些渺小的区分,而这些区分,常常也就是我们计划的时分最必要注重的。如今,我们经由过程举例,来看看在罕见的ADO.NET操纵中,必要注重哪些成绩。
(1)举例一
DimmyConnectionAsSqlConnection=newSqlConnection(ConfigurationSettings.AppSettings("DSN_pubs"))
DimmyCommandAsSqlCommand=newSqlCommand("Selectpub_id,pub_nameFrompublishers",myConnection)
DimmyDataReaderAsSqlDataReader
Try
myConnection.Open()
myDataReader=myCommand.ExecuteReader(CommandBehavior.CloseConnection)
DropDownList1.DataSource=myDataReader
DropDownList1.DataBind()
CatchmyExceptionAsException
Response.Write("Anerrorhasoccurred:"&myException.ToString())
Finally
IfNotmyDataReaderIsNothingThen
封闭DataReader
myDataReader.Close()
EndIf
EndTry
在以上的举例中,我们注重到,这里只封闭了DataReader,并没有封闭Connection。为何呢?细心察看以上的ExecuteReader办法,本来,设置了ExecuteReader参数,当实行完ExecuteReader今后,会主动封闭Connection。以是,如许设置今后,就没有需要再手动封闭Connection了。
(2)举例二
DimmyConnectionAsSqlConnection=newSqlConnection(ConfigurationSettings.AppSettings("DSN_pubs"))
DimmyCommandAsSqlCommand=newSqlCommand("Selectpub_id,pub_nameFrompublishers",myConnection)
Try
myConnection.Open()
DropDownList1.DataSource=myCommand.ExecuteReader()
DropDownList1.DataBind()
CatchmyExceptionAsException
Response.Write("Anerrorhasoccurred:"&myException.ToString())
Finally
IfNotmyConnectionIsNothingAndAlso((myConnection.StateAndConnectionState.Open)=ConnectionState.Open)Then
myConnection.Close()
EndIf
EndTry
在以上的举例中,我们发明,竟然没有封闭DataReader。为何呢?实在下面的代码中,没有间接天生DataReader工具,固然也就无从封闭了。必要注重一点的是,在封闭Connection之前,程序起首判别Connection是不是已翻开,假如没有翻开,也就没需要封闭了。

4、利用Web.Config/Maching.Config保留经常使用数据
一些数据我们必要经常利用,好比利用ADO.NET的时分,最多见的就是数据库毗连语句,在ASP中,我们经常将这些信息保留在Application中。固然,在ASP.NET中,也能够如许,不外,ASP.NET已供应一个设置文件WEB.Config,以是,</p>ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的工具可是什么都要收钱的啊!

愤怒的大鸟 发表于 2015-1-20 10:59:36

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

谁可相欹 发表于 2015-1-24 15:30:40

哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?

第二个灵魂 发表于 2015-1-28 07:50:08

哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?

简单生活 发表于 2015-2-5 12:49:25

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

兰色精灵 发表于 2015-2-11 21:06:40

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

乐观 发表于 2015-3-2 19:18:35

我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。

若相依 发表于 2015-3-11 05:42:51

没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。

admin 发表于 2015-3-17 21:27:08

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

爱飞 发表于 2015-3-25 02:57:44

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
页: [1]
查看完整版本: ASP网页设计最好ASP.NET编程习气