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<string, string> GetParentQueryString()
53
{
54
Dictionary<string, string> dic = new Dictionary<string, string>();
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
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65
