亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ASP.NET基本編程習慣

2019-11-18 16:48:05
字體:
來源:轉載
供稿:網友

一、 錯誤(以外)的處理
程序健壯性最基本要求就是程序錯誤的處理與捕捉,在asp.net中,錯誤的處理有和其他編程語言一樣的機制,可以使用Try…Catch…Finally等方式,這一點和ASP相比具有較大的進步。而且,使用這些錯誤處理方法,可以大大提高程序的可讀性和程序調試速度,在這幾個優勢結合的情況下,我們更加應該注意這一點。
關于錯誤的處理,我們可以參考這篇文章(英文):
http://www.123aspx.com/redir.aspx?res=28336

二、 字符串的處理
網頁設計中,字符串的處理幾乎是最常見的了。使用ASP.NET以后,字符串的處理比ASP的速度快,而且,在ASP.NET中,專門增加一個字符串處理類StringBulider,使用這個類可以完成一些常見的字符串操作,而最主要的,使用StringBuilder可以大大提高字符串處理速度。
在ASP.NET中,最常見的就是使用“&”來連接兩個字符串:
Dim myOutputString As String = "My name is"
Dim myInputString As String = " Alex"
myOutputString = myOutputString & myInputString
Response.Write(myoutputString)
現在,我們來看看StringBuilder的使用,在使用StringBuilder的時候,我們對字符串可以做一些基本的操作,比如Append、Replace、Insert、Remove等,現在我們來看具體舉例。
(1)StringBuilder中Append的使用
Append和其他語言的Append一樣,就是在字符串最后增加其他字符。
Dim sb as StringBuilder = New StringBuilder()
sb.append( "<table border='1' width='80%'>" )
For i = 0 To RowCount - 1
sb.Append("<tr>")
For k = 0 To ColCount - 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>")
Dim strOutput as String = sb.ToString()
lblCompany.Text = strOutput
在以上的程序中,用Append方法實現了一個表格的輸出,需要注意的一點是,StringBulider必須首先使用ToString()方法將其轉化為String類型才可以直接輸出。在以上的舉例中,我們看到的全部是Append一個直接的字符串,其實,這個方法有一個很方便的功能,那就是可以直接Append其他類型的變量,比如可以直接Appemd一個Integer類型的數值,當然,我們輸出以后自動轉化為一個字符串:
Sub Page_Load(Source As object, E As EventArgs)
Dim sb As System.Text.StringBuilder
Dim varother As Integer
varother=9999
sb =new System.Text.StringBuilder()
sb.append("<font color='blue'>可以Append其他類型:</font>")
sb.append(varother)
Response.write(sb.toString())
End Sub
(2)字符串中其他方法的使用
我們還可以使用其他方法,我們來看看常見的:
Insert方法,可以在指定位置插入其他字符,使用方法:Insert(插入位置,插入字符);
Remove方法,可以在指定位置刪除指定字數字符,使用方法:Remove(其實位置,字符數);
Replace方法,可以替換指定字符,使用方法:replace(被替換字符串,替換字符串)
字符串的具體介紹和使用方法可以參考以下文章(英文):
http://aspfree.com/aspnet/stringbuilder.aspx
http://msdn.microsoft.com/library/en-us/cPRef/html/frlrfSystemTextStringBuilderClassTopic.asp

 

三、 數據庫鏈接Connection和DataReader的關閉
在使用ASP編程的時候,我們就已經知道,在使用數據庫連接以后,一定要將連接關閉,然后設置為NoThing。在Asp.NET中,我們仍然需要這樣使用,不過,在ASP.NET中,由于使用了ADO.NET,所以,在一些相關的處理方面,實際還是有一些細微的區別,而這些區別,往往也就是我們設計的時候最需要注意的?,F在,我們通過舉例,來看看在常見的ADO.NET操作中,需要注意哪些問題。
(1)舉例一
Dim myConnection As SqlConnection = new SqlConnection(ConfigurationSettings.AppSettings("DSN_pubs"))
Dim myCommand As SqlCommand = new SqlCommand("Select pub_id, pub_name From publishers", myConnection)
Dim myDataReader As SqlDataReader
Try
myConnection.Open()
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
dropDownList1.DataSource = myDataReader
dropDownList1.DataBind()
Catch myException As Exception
Response.Write("An error has occurred: " & myException.ToString())
Finally
If Not myDataReader Is Nothing Then
'關閉DataReader
myDataReader.Close()
End If
End Try
在以上的舉例中,我們注意到,這里只關閉了DataReader,并沒有關閉Connection。為什么呢?仔細觀察以上的ExecuteReader方法,原來,設置了ExecuteReader參數,當執行完ExecuteReader以后,會自動關閉Connection。所以,這樣設置以后,就沒有必要再手動關閉Connection了。
(2)舉例二
Dim myConnection As SqlConnection = new SqlConnection(ConfigurationSettings.AppSettings("DSN_pubs"))
Dim myCommand As SqlCommand = new SqlCommand("Select pub_id, pub_name From publishers", myConnection)
Try
myConnection.Open()
dropDownList1.DataSource = myCommand.ExecuteReader()
dropDownList1.DataBind()
Catch myException As Exception
Response.Write("An error has occurred: " & myException.ToString())
Finally
If Not myConnection Is Nothing AndAlso ((myConnection.State And ConnectionState.Open) = ConnectionState.Open) Then
myConnection.Close()
End If
End Try
在以上的舉例中,我們發現,居然沒有關閉DataReader。為什么呢?其實上面的代碼中,沒有直接生成DataReader對象,當然也就無從關閉了。需要注意一點的是,在關閉Connection之前,程序首先判斷Connection是否已經打開,如果沒有打開,也就沒必要關閉了。

 

 

四、使用Web.Config/Maching.Config保存常用數據
一些數據我們需要時常使用,比如使用ADO.NET的時候,最常見的就是數據庫連接語句,在ASP中,我們常常將這些信息保存在application中。當然,在ASP.NET中,也可以這樣,不過,ASP.NET已經提供一個配置文件WEB.Config,所以,我們最好將這些信息保存在WEB.Config中,當然,我們也可以保存在Machine.Config中,不過,這樣的話,整個網站都必須使用,所以,一般我們都使用Web.Config。現在,我們來看具體這個文件的使用。
(1)Web.Config文件的設置
首先,我們來看Web.Config的設置,我們在這個文件中增加設置以下兩個項目,設置如下:
<configuration>
<appsettings>
<add key="dsn" value="myserver"/>
<add key="someotherkey" value="somevalue"/>
</appsettings>
</configuration>
(2)變量的使用
以上xml文件設置了dsn和someotherkey兩個變量,現在我們看看程序中怎樣使用:
<html>
<script language="VB" runat=server>
Sub Page_Load(Sender as object, E as EventArgs)
Dim AppSettings as Hashtable = Context.GetConfig("appsettings")
DSN.Text = AppSettings("dsn")
SomeOther.Text = AppSettings("someotherkey")
End Sub
</script>
<body>
DSN Setting: <asp:label id="DSN" runat=server/> <br>
Some Other Setting: <asp:label id="SomeOther" runat=server/>
</body>
</html>
上面的程序我們看到,使用這樣定義的變量很簡單也很方便。
 

五、使用.NET的方式調試程序
ASP程序的調試一直是編寫ASP最難的地方,這一點,ASP程序員大概都深有體會,因為大家都是使用Response.write來調試。而這樣調試最大的缺點是,當我們調試完畢,必須一個個來刪除或者注釋掉這些信息,想一想,如果程序代碼達到幾百行或者頁面很多的程序,這樣的工作是多么枯燥,最怕一點,忘記將這些調試用的write刪除,可能在用戶使用的時候就會出現一些不雅的調試信息。
使用ASP.NET以后,我們可以直接定義Trace來實現程序的調試。以上提到的麻煩可以輕松解決,熟悉,Trace可以通過具體頁面和在Web.Config配置文件中來定義實現,這樣,當程序調試完畢以后,直接將Trace設置為Off就可以了,這樣,程序就不會有調試功能了。
(1)頁面調試的實現
在一個具體的頁面需要實現調試功能的時候,我們可以這樣設置:
<%@ Page Language="VB" Trace="True" %>
(2)定義WEB.Config實現
在WEB.CONFIG中,我們也可以實現程序調試的打開:
<configuration>
<system.web>
<trace enabled="true" requestLimit="10" localOnly="false"/>
</system.web>
</configuration>
使用以上的設置打開Trace以后,我們在具體的程序中就可以使用Trace來調試程序了,比如:
Trace.Write("This is some custom debugging information")
或者調試程序變量:
Trace.Write("This is is my variable and it's value is:" & myVariable.ToString())
以上設置我們可以看出,在ASP.NET中,程序調試功能已經很方便簡單了


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩欧美在线观看| 成人在线免费观看视视频| 亚洲丝袜一区在线| 国产日韩亚洲欧美| 亚洲成人亚洲激情| 欧洲亚洲妇女av| 激情成人中文字幕| 欧洲亚洲在线视频| 久久精品夜夜夜夜夜久久| 国产精品扒开腿爽爽爽视频| 91精品久久久久久久久| 欧美一区视频在线| 国产精品三级在线| 国产欧美日韩高清| y97精品国产97久久久久久| 亚洲专区中文字幕| 456亚洲影院| 日韩欧美亚洲成人| 久久久欧美一区二区| 狠狠躁夜夜躁久久躁别揉| 欧美一级淫片aaaaaaa视频| 亚洲区在线播放| 亚洲网站在线看| 国产免费一区视频观看免费| 97精品视频在线观看| 国产精品久久久久久久7电影| 国产成人jvid在线播放| 欧美中文在线视频| 欧美又大又粗又长| 久久男人资源视频| 欧美另类极品videosbest最新版本| 亚洲石原莉奈一区二区在线观看| 欧美精品中文字幕一区| 国产+成+人+亚洲欧洲| 国产精品久久国产精品99gif| 色综合久久天天综线观看| 亚洲伊人成综合成人网| 正在播放亚洲1区| 亚洲91精品在线| 欧美另类在线观看| 一区二区三欧美| 国产日本欧美一区| 欧美激情videoshd| 国产黑人绿帽在线第一区| 国产亚洲欧美一区| 九九热最新视频//这里只有精品| 国产噜噜噜噜噜久久久久久久久| 91在线观看免费观看| 91欧美激情另类亚洲| 永久免费看mv网站入口亚洲| 97色在线观看| 色老头一区二区三区| 国产在线播放91| 亚洲韩国青草视频| 国产午夜精品免费一区二区三区| 亚洲男人天天操| 国产日韩欧美成人| 国产97人人超碰caoprom| 亚洲乱码av中文一区二区| 成人高h视频在线| 青青草原成人在线视频| 国产精品免费在线免费| 成人乱人伦精品视频在线观看| 国产精品对白刺激| 日韩视频免费中文字幕| 国产玖玖精品视频| 成人情趣片在线观看免费| 一区二区三区动漫| 992tv成人免费影院| 久久国产精品99国产精| 日韩资源在线观看| 国产91色在线|免| 国产精品极品尤物在线观看| 欧美极品少妇xxxxⅹ裸体艺术| 91成人在线播放| 亚洲欧洲在线视频| 亚洲一区二区福利| 欧美日韩高清区| 亚洲综合小说区| 久久久亚洲国产天美传媒修理工| 久久99久久99精品免观看粉嫩| 国产精品久久久久久亚洲影视| 中文字幕av一区二区三区谷原希美| 欧美成人激情视频| 欧美午夜美女看片| 欧美性生活大片免费观看网址| 久久免费视频这里只有精品| 欧美有码在线观看视频| 精品久久久久久亚洲精品| 97超碰国产精品女人人人爽| 一区二区日韩精品| 亚洲欧美资源在线| 欧美日韩国产区| 亚洲天堂av电影| 国产成人精品在线观看| 欧美在线视频免费播放| 91国产美女视频| 国语自产精品视频在线看一大j8| 久久精品视频在线观看| 亚洲欧美日韩国产中文| 国内精品一区二区三区| 在线视频欧美日韩精品| 日韩视频免费在线| 在线日韩欧美视频| 欧美日韩成人在线播放| 久久久久久久成人| 91精品国产综合久久久久久久久| 国产精彩精品视频| 欧美黄色片在线观看| 国产精自产拍久久久久久蜜| 欧美大片免费观看在线观看网站推荐| 视频一区视频二区国产精品| 亚洲一区二区三区在线免费观看| 亚洲电影中文字幕| 色琪琪综合男人的天堂aⅴ视频| 国产午夜精品视频免费不卡69堂| 亚洲国产女人aaa毛片在线| 午夜精品久久久久久久白皮肤| 黄色精品在线看| 国产91在线视频| 日本最新高清不卡中文字幕| 日韩网站在线观看| 亚洲国产欧美精品| 亚洲成人在线视频播放| 久99久在线视频| 国产精品福利无圣光在线一区| 亚洲va国产va天堂va久久| 5566日本婷婷色中文字幕97| 91影视免费在线观看| 91精品国产自产在线观看永久| 国产欧美在线观看| 亚洲新声在线观看| 美女撒尿一区二区三区| 国产在线观看91精品一区| 久久久亚洲精品视频| 欧美国产日韩精品| 欧美激情视频播放| 夜夜嗨av色综合久久久综合网| 日韩成人在线电影网| 亚洲精品国产综合久久| 精品久久久久久久久中文字幕| 精品亚洲精品福利线在观看| 国产一区二区三区欧美| 久久久久久久久91| 亚洲免费视频观看| 日韩中文字幕免费看| 国产91免费观看| 最近2019年中文视频免费在线观看| 久久亚洲一区二区三区四区五区高| 亚洲精品欧美日韩专区| 国产精品高清在线| 精品福利在线视频| 久久天堂电影网| 欧美亚洲成人精品| 亚洲在线免费视频| 91精品综合视频| 国产精品成av人在线视午夜片| 亚洲高清一二三区| 亚洲一区二区黄| 青青久久aⅴ北条麻妃| 日韩成人在线观看| 久久久精品在线| 欧美一级视频一区二区| 日韩成人免费视频|