1public class Util {
2 private Util() {}
3
4 // 從 querystring 集合中安全的取得一個 string. (總是不會有 null,所以叫做 'Safe')
5 public static string GetStringSafeFromQueryString(Page page, string key) {
6 string value = page.Request.QueryString[key];
7 return (value == null) ? string.Empty : value;
8 }
9
10 // 在上述基礎上,實現幾個常用類型的擷取方法。
11 public static int GetInt32SafeFromQueryString(Page page, string key, int defaultValue) {
12 string value = GetStringSafeFromQueryString(page, key);
13 int i = defaultValue;
14 try {
15 i = int.Parse(value);
16 } catch {}
17 return i;
18 }
19 // double 的實現
20 public static double GetDoubleSafeFromQueryString(Page page,
21 string key, double defaultValue) {
22 string value = GetStringSafeFromQueryString(page, key);
23 double d = defaultValue;
24 try {
25 d = double.Parse(value);
26 } catch {}
27 return d;
28 }
29 // 同理可以寫出 float, 的實現
30}
在我的任何頁面裡面,要擷取 querystring 的時候,只要這樣就可以了:
比如我要擷取一個 string:1string name = Util.GetStringSafeFromQueryString(this, "name");
2if (name.Length > 0) {
3 // 進行正常的處理
4} else {
5 // 不處理。
6}
擷取 int:int id = Util.GetInt32SafeFromQueryString(this, "id", 0);