Request 擴展
asp.net編程中,經常要傳遞參數,獲取參數;
以get形式傳參為例,獲取參數時,要這樣寫
int id;
if (Request.QueryString["id"] != null)
{
id = Convert.ToInt16(Request.QueryString["id"].Trim());
}
首先判斷該參數是否存,然后獲取并轉為數值型。其實,即便如此,上面的代碼也是不夠安全的,例如,id等于空,或是非數字字符,都會出錯的。
要寫一個完整的參數獲取代碼,真是挺煩的,而且這種代碼,會經常的用到。于是決定寫一個東西專門處理它。
兩個類:Extend.Request用來獲取參數,Parameter用來處理參數(后面會提供代碼)。代碼很簡單,但還算實用
實現前面的效果,用如下代碼即可:
int id = Extend.Request.QueryString["id"].Int16 ?? 0;
獲取id參數后,后面綴上Int16,就轉為int型了,如果參數不存在,或異常,會返回空;?? 的意思是,如果為空,就返回后面的0(即你自己設定的默認值);
當然,這個Extend.Request,不止可以獲取QueryString參數,還要獲取如下幾種形式的參數:
1、Cookies (例如:Extend.Request.Cookie ["id"].Int16)
2、Session
3、Form
4、QueryString
5、TextBox (例如:Extend.Request.TextBox[tbPw].MD5)
當然Parameter,也不止提供將參數轉為Int型的方法,還提供如下幾種轉換:
String
Boolean
DateTime
Double
Int16
Int32
Int64
MD5(返回參數md5加密后的字符串)
UrlDecode(返回參數URL解碼后的字符串)
HtmlDecode(返回參數HTML解碼后的字符串)
代碼點兒長,一篇文章提交不完,再續兩篇吧。下面是代碼
浙公網安備 33010602011771號