重写Filter类就可以了。
用法:
if(Session["big5"].ToString()=="2"){Response.Filter = new DreamZone.Core.CG2BFilter(Response.Filter);}
CG2BFilter.cs文件如下:
1
using System;
2
using System.Text;
3
using System.Text.RegularExpressions;
4
using System.IO;
5
using System.Web;
6
namespace DreamZone.Core
7
{
8
/// <summary>
9
/// CG2BFilter 的摘要说明。
10
/// </summary>
11
12
public class CG2BFilter : Stream
13
{
14
Stream responseStream;
15
long position;
16
StringBuilder responseHtml;
17![](/Images/OutliningIndicators/InBlock.gif)
18
public CG2BFilter (Stream inputStream)
19
{
20
responseStream = inputStream;
21
responseHtml = new StringBuilder ();
22
}
23![](/Images/OutliningIndicators/InBlock.gif)
24
Filter overrides
76![](/Images/OutliningIndicators/InBlock.gif)
77
转换任务
88
自定义函数
100
}
101
}
102![](/Images/OutliningIndicators/None.gif)
103![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
8
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
76
![](/Images/OutliningIndicators/InBlock.gif)
77
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
88
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
100
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
101
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
102
![](/Images/OutliningIndicators/None.gif)
103
![](/Images/OutliningIndicators/None.gif)
2.新转换类CG2BFilter(要引用Microsoft.VisualBasic.dll)
1
using System;
2
using System.Text;
3
using System.Text.RegularExpressions;
4
using System.IO;
5
using System.Web;
6![](/Images/OutliningIndicators/None.gif)
7
/// <summary>
8
/// CG2BFilter 的摘要说明。
9
/// </summary>
10
public class CG2BFilter : Stream
11
{
12
Stream responseStream;
13
long position;
14
StringBuilder responseHtml;
15![](/Images/OutliningIndicators/InBlock.gif)
16
public CG2BFilter()
17
{
18
//后期添加,以便可以对文本直接转换
19
}
20![](/Images/OutliningIndicators/InBlock.gif)
21
public CG2BFilter(Stream inputStream)
22
{
23
responseStream = inputStream;
24
responseHtml = new StringBuilder();
25
}
26![](/Images/OutliningIndicators/InBlock.gif)
27
Filter overrides
79![](/Images/OutliningIndicators/InBlock.gif)
80
转换任务
91
自定义函数
103
}
104![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
79
![](/Images/OutliningIndicators/InBlock.gif)
80
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
91
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
103
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
104
![](/Images/OutliningIndicators/None.gif)
3.页面基类BasePage
1
using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Web;
5
using System.Web.Security;
6
using System.Web.UI;
7
using System.Web.UI.WebControls;
8
using System.Web.UI.WebControls.WebParts;
9
using System.Web.UI.HtmlControls;
10![](/Images/OutliningIndicators/None.gif)
11
/// <summary>
12
/// BasePage 的摘要说明
13
/// </summary>
14
public class BasePage : System.Web.UI.Page
15
{
16
public BasePage()
17
{
18
//
19
// TODO: 在此处添加构造函数逻辑
20
//
21
}
22![](/Images/OutliningIndicators/InBlock.gif)
23
protected override void OnInit(EventArgs e)
24
{
25
//if (!String.IsNullOrEmpty(Request.QueryString["lan"]) && Request.QueryString["lan"].ToLower() == "big5")
26
//{
27
// Response.Filter = new CG2BFilter(Response.Filter);
28
//}
29
if (Session["SiteLanguage"] == "Big5")
30
{
31
Response.Filter = new CG2BFilter(Response.Filter);
32
}
33![](/Images/OutliningIndicators/InBlock.gif)
34
}
35
}
36![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
35
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
36
![](/Images/OutliningIndicators/None.gif)
4.切换控件Header.ascx
1
<asp:ImageButton
2
ID="SiteLanguage" runat="server" ImageUrl="~/Images/big5.gif" OnClick="SiteLanguage_Click" CausesValidation="false" /></li>
3![](/Images/OutliningIndicators/None.gif)
4![](/Images/OutliningIndicators/None.gif)
5![](/Images/OutliningIndicators/None.gif)
6
using System;
7
using System.Data;
8
using System.Configuration;
9
using System.Collections;
10
using System.Web;
11
using System.Web.Security;
12
using System.Web.UI;
13
using System.Web.UI.WebControls;
14
using System.Web.UI.WebControls.WebParts;
15
using System.Web.UI.HtmlControls;
16![](/Images/OutliningIndicators/None.gif)
17
public partial class Controls_Header : System.Web.UI.UserControl
18
{
19
protected bool _isindex;
20
public bool IsIndex
21
{
22
get { return _isindex; }
23
set { _isindex = value; }
24
}
25
protected void Page_Load(object sender, EventArgs e)
26
{
27
ShowLanguage();
28
}
29![](/Images/OutliningIndicators/InBlock.gif)
30
protected void SiteLanguage_Click(object sender, ImageClickEventArgs e)
31
{
32
switchLanguage();
33
Response.Redirect(Request.RawUrl);
34
//ShowLanguage();
35
}
36![](/Images/OutliningIndicators/InBlock.gif)
37![](/Images/OutliningIndicators/InBlock.gif)
38
private void switchLanguage()
39
{
40
if (Session["SiteLanguage"] == "Big5")
41
{
42
Session["SiteLanguage"] = "GB";
43
}
44
else
45
{
46
Session["SiteLanguage"] = "Big5";
47
}
48
}
49![](/Images/OutliningIndicators/InBlock.gif)
50
private void ShowLanguage()
51
{
52
//string url = Request.RawUrl.ToLower();
53
//if (url.IndexOf("lan=gb") > 0 || url.IndexOf("lan=big5")>0)
54
//{
55
// url = url.Replace("lan=gb", "lan={t}").Replace("lan=big5", "lan={t}");
56
//}
57
//else
58
//{
59
// if (url.IndexOf("?") > 0)
60
// {
61
// url = url + "&lan={t}";
62
// }
63
// else
64
// {
65
// url = url + "?lan={t}";
66
// }
67
//}
68
//if (String.IsNullOrEmpty(Request.QueryString["lan"]) || Request.QueryString["lan"].ToLower()=="gb")
69
//{
70
// url = url.Replace("lan={t}", "lan=big5");
71
// navurl.Text = "<a href='" + url + "'><img src='/images/big5.gif' border='0' /></a>";
72
//}
73
//else
74
//{
75
// url = url.Replace("lan={t}", "lan=gb");
76
// navurl.Text = "<a href='" + url + "'><img src='/images/gb.gif' border='0' /></a>";
77
//}
78
if (Session["SiteLanguage"] == "Big5")
79
{
80
SiteLanguage.ImageUrl = "~/Images/gb.gif";
81
SiteLanguage.ToolTip = "简体版本";
82
}
83
else
84
{
85
SiteLanguage.ImageUrl = "~/Images/big5.gif";
86
SiteLanguage.ToolTip = "繁体版本";
87
}
88![](/Images/OutliningIndicators/InBlock.gif)
89
}
90![](/Images/OutliningIndicators/InBlock.gif)
91
}
92![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
16
![](/Images/OutliningIndicators/None.gif)
17
![](/Images/OutliningIndicators/None.gif)
18
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
23
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
24
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
44
![](/Images/OutliningIndicators/InBlock.gif)
45
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
46
![](/Images/OutliningIndicators/InBlock.gif)
47
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
48
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
49
![](/Images/OutliningIndicators/InBlock.gif)
50
![](/Images/OutliningIndicators/InBlock.gif)
51
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
52
![](/Images/OutliningIndicators/InBlock.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/InBlock.gif)
55
![](/Images/OutliningIndicators/InBlock.gif)
56
![](/Images/OutliningIndicators/InBlock.gif)
57
![](/Images/OutliningIndicators/InBlock.gif)
58
![](/Images/OutliningIndicators/InBlock.gif)
59
![](/Images/OutliningIndicators/InBlock.gif)
60
![](/Images/OutliningIndicators/InBlock.gif)
61
![](/Images/OutliningIndicators/InBlock.gif)
62
![](/Images/OutliningIndicators/InBlock.gif)
63
![](/Images/OutliningIndicators/InBlock.gif)
64
![](/Images/OutliningIndicators/InBlock.gif)
65
![](/Images/OutliningIndicators/InBlock.gif)
66
![](/Images/OutliningIndicators/InBlock.gif)
67
![](/Images/OutliningIndicators/InBlock.gif)
68
![](/Images/OutliningIndicators/InBlock.gif)
69
![](/Images/OutliningIndicators/InBlock.gif)
70
![](/Images/OutliningIndicators/InBlock.gif)
71
![](/Images/OutliningIndicators/InBlock.gif)
72
![](/Images/OutliningIndicators/InBlock.gif)
73
![](/Images/OutliningIndicators/InBlock.gif)
74
![](/Images/OutliningIndicators/InBlock.gif)
75
![](/Images/OutliningIndicators/InBlock.gif)
76
![](/Images/OutliningIndicators/InBlock.gif)
77
![](/Images/OutliningIndicators/InBlock.gif)
78
![](/Images/OutliningIndicators/InBlock.gif)
79
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
80
![](/Images/OutliningIndicators/InBlock.gif)
81
![](/Images/OutliningIndicators/InBlock.gif)
82
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
83
![](/Images/OutliningIndicators/InBlock.gif)
84
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
85
![](/Images/OutliningIndicators/InBlock.gif)
86
![](/Images/OutliningIndicators/InBlock.gif)
87
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
88
![](/Images/OutliningIndicators/InBlock.gif)
89
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
90
![](/Images/OutliningIndicators/InBlock.gif)
91
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
92
![](/Images/OutliningIndicators/None.gif)
5.WebService转换
1
/// <summary>
2
/// 品牌下类别
3
/// </summary>
4
/// <param name="knownCategoryValues"></param>
5
/// <param name="category"></param>
6
/// <returns></returns>
7
[WebMethod(EnableSession = true)]
8
public AjaxControlToolkit.CascadingDropDownNameValue[] QueryCategoriesByBrand(string knownCategoryValues,
9
string category)
10
{
11
StringDictionary kv = CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);
12![](/Images/OutliningIndicators/InBlock.gif)
13
if (!kv.ContainsKey("Brand") || String.IsNullOrEmpty(kv["Brand"]))
14
return null;
15
string _brand = kv["Brand"];
16
DataSet ds = SqlHelper.ExecuteDataset(SqlHelper.ConnectionString, "SP_QueryCategoriesByBrand", _brand);
17
List<CascadingDropDownNameValue> values = new List<CascadingDropDownNameValue>();
18
foreach (DataRow dr in ds.Tables[0].Rows)
19
{
20
string tmpStr = dr["CategoryName"].ToString();
21
if (Session["SiteLanguage"] == "Big5")
22
{
23
CG2BFilter switchLanguage = new CG2BFilter();
24
tmpStr = switchLanguage.Simplified2Traditional(tmpStr);
25
}
26
values.Add(new CascadingDropDownNameValue(tmpStr, dr["CategoryID"].ToString()));
27
}
28
return values.ToArray();
29
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
2
![](/Images/OutliningIndicators/InBlock.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
6.页面继承BasePage