获取父页面URL的参数对应值及左对齐字符串

 1       /// <summary>
 2       /// 返回包含中文字符的字符串长度。
 3        /// C# 的string.Length中中文字只做1位统计,所以要将其转换为2位
 4        /// </summary>       
 5        /// <param name="strSource">要统计长度的字符串变量</param>
 6        /// <returns>字符串长度</returns>

 7        public static int GetLength(string strSource)
 8        {
 9            return Encoding.GetEncoding("GB2312").GetBytes(strSource).Length;
10        }
 
11        /// <summary>
12        /// 左对齐字符串
13         /// <remarks>
14        /// 如原始字符串不满足参数<paramref name="length"/>指定的长度则在<paramref name="objectString"/>指定的原始字符串后补'~'
15        /// </remarks>
16        /// </summary>
17        /// <param name="objectString">原始字符串</param>
18        /// <param name="length">左对齐后的字符串长度</param>
19        /// <returns>左对齐后的字符串</returns>
20        /// <example>
21        /// 如调用方式为PadRightString("123",5);
22        /// 则返回值为"123~~"
23        /// </example>
24        /// <exception cref="InvalidTelegraphStringLengthException">
25        /// 当参数<paramref name="objectString"/>的长度超出参数<paramref name="length"/>指定的值时抛出
26        /// </exception>

27        public static string PadRightString(string objectString, int length)
28        {
29            //原始字符串长度,中文字符按2位计
30            int objectStringLength = GetLength(objectString);
31            if (objectString == null || objectStringLength > length)
32            {
33                throw new InvalidTelegraphStringLengthException();
34            }

35            else
36            {
37                //需自动填充的长度
38                int suffixLength = length - objectStringLength;
39                string sunffix = string.Empty;
40                //不足位数补"~"
41                for (int i = 0; i < suffixLength; i++)
42                {
43                    sunffix += "~";
44                }

45                return objectString + sunffix;
46            }

47        }
 
48    /// <summary>
49    /// 获取父页面URL的参数对应值
50    /// </summary>
51    /// <returns></returns>

52    protected Dictionary<stringstring> GetParentQueryString()
53    {
54        Dictionary<stringstring> dic = new Dictionary<stringstring>();
55        string strParams = Request.UrlReferrer.Query;
56        if (!string.IsNullOrEmpty(strParams))
57        {
58            string[] queryParams = strParams.Substring(1).Split(new char[] '&' });
59            for (int i = 0; i < queryParams.Length; i++)
60            {
61                dic.Add(queryParams[i].Split(new char[] '=' })[0], queryParams[i].Split(new char[] '=' })[1]);
62            }
            
63        }

64        return dic;
65    }
    
posted @ 2007-04-24 08:41  中尉  阅读(1110)  评论(0编辑  收藏  举报