Asp.Net和名字是3個字的人有仇?

最近在做一個教務系統,在一處需要通過URL傳遞教師名稱,測試中發現一個奇怪的問題,教師名字如果是2個字則沒問題,如果是3個字當用Request("TeacherName")獲取時會少一個字,難道說.Net和名字是3個字的人有仇?鬱悶了(我自己也是3個字的名字)……

鬱悶了5秒鐘以後想到了UrlEncode這位大仙,於是Server.UrlEncode(TeacherName),MMD,問題依舊,再次鬱悶……

於是發揮"Why"時代人的風範——問同事,同事也覺得奇怪,不過提供了一個有價值的線索,UrlEncode這位大仙有2個家,還有一個是HttpUtility,查了MSDN發現果然是這樣,UrlEncode分別是兩個對象的成員:HttpServerUtilityHttpUtility,而HttpServerUtility 類的方法和屬性通過 ASP.NET 的內部Server對象公開。

抱着對.Net的最後一點信任,我試了一下HttpUtility.UrlEncode,Faint,真的OK了。

問題是解決了,留下2個疑點:

  1. 2個字和3個字到底有什麼區別
  2. HttpServerUtilityHttpUtility在調用機制上有什麼區別(MSDN上只是說HttpServerUtility是提供用於處理 Web 請求的 Helper 方法,而HttpUtility提供用於在處理 Web 請求時編碼和解碼 URL 的方法。本人實在是不甚理解)

這兩個問題先記下,留待有空研究,也希望高手不吝賜教!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章