当我点击上一页或下一页,首页,尾页的时候,传入的KeyWords的值就变成乱码了,怎么解决啊,
项目中在web.config中使用了<globalization uiCulture="zh-cn" culture="zh-cn" requestEncoding="gb2312" responseEncoding="gb2312"/>
且web.config不能更改,急求解决方法
后台类    /// <summary>
        /// 分页查询关键词列表
        /// </summary>
        /// <param name="TableName">查询的表名</param>
        /// <param name="TableFields">查询的列名</param>
        /// <param name="TableWhere">查询的条件</param>
        /// <param name="OrdFields">排序</param>
        /// <param name="PageSize">每页显示的数据</param>
        /// <param name="PageIndex">当前页数</param>
        /// <param name="TotalPage">总页数</param>
        /// <param name="TotalRecord">总条数</param>
        /// <returns></returns>
        public static string GetArticleKeyWordsList(string TableName, string TableFields, string TableWhere, string OrdFields, int PageSize, int PageIndex, ref int TotalPage, ref int TotalRecord)
        {
            StringBuilder sb = new StringBuilder();
            DataTable dt = ArticleKeyWordsRules.getArticleKeyWordsListByPage(TableName, TableFields, TableWhere, OrdFields, PageSize, PageIndex, ref TotalPage, ref TotalRecord);
            foreach (DataRow dr in dt.Rows)
            {
                sb.Append("<a href=\"ArticleList.aspx?KeyWords=").Append(dr["KeyWords"].ToString()).Append("&currentPage=1\" target=\"_blank\" >").Append(dr["KeyWords"].ToString()).Append("</a> (").Append(Convert.ToInt32(dr["ArticleCount"])).Append(")<br /><hr />");
            }
            return sb.ToString();
        }
后台页面:using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;using _60CheWebFunction;
public partial class ArticleList : System.Web.UI.Page
{
    //文章列表
    protected string ArticleLists = "";
    //每页显示的数据条数,当前页,总页数,总记录数,显示的页数个数
    protected int PageSize = 35, PageIndex = 1, TotalPage = 0, TotalRecord = 0, NumCount = 3;
    protected void Page_Load(object sender, EventArgs e)
    {
        //当前页
        PageIndex = Convert.ToInt32(Request["CurrentPage"]);
        //查询的表
        string TableName = "[AC_Article] as aa,[AC_Article_KeyWords_Relation] as aakr";
        //查询的列名
        string TableFields = "aa.ArticleId,aa.Title,aa.ShortTitle,aa.Author,aa.Source,aa.SourceURL,aa.SourceType,aa.Editor,aa.PublishDateTime,aa.CreateDateTime,aa.LastUpdateDateTime,aa.LastUpdateEditor,aa.Keywords";
        //查询的条件
        string TableWhere=" aakr.ArticleId=aa.ArticleId and aa.IsEnable=1 and IsPublish=1 and aakr.KeyWords='"+Request["KeyWords"]+"'";
        //排序
        string OrdFields=" PublishDateTime desc";
        //文章列表(表名,列名,条件,排序,数量,当前页,总页数,总记录数)
        ArticleLists = ArticleKeyWordsFunction.GetArticleListByPage(TableName, TableFields, TableWhere, OrdFields, PageSize, PageIndex, ref TotalPage, ref TotalRecord);
       
        /*分页控件*/
        //当前页
        this.PagerControl1.currentPage = PageIndex < 0 ? 1 : PageIndex;
        //每页显示的数量
        this.PagerControl1.pageSize = PageSize;
        //总页数
        this.PagerControl1.pageCount = TotalPage;
        //总数量
        this.PagerControl1.recordCount = TotalRecord;
        //显示的页数数字的个数
        this.PagerControl1.NumCount = NumCount;
        this.PagerControl1.ModelType = "{页信息} {首页} {上一页} {数字} {下一页} {尾页}";
    }
}

解决方案 »

  1.   

    设置utf8编码
    中文参数HttpUtility.UrlEncode
      

  2.   

    点file-->Advanced Save Options-->utf8
    保存
      

  3.   

    我只是要把传的参数让它正常就行了sb.Append("<a href=\"ArticleList.aspx?KeyWords=").Append(dr["KeyWords"].ToString())是从这里获取的,后台类是在类库中的一个类写的
      

  4.   

    http://topic.csdn.net/u/20101223/09/f22d496f-acf3-40f0-97bb-74375982cfcb.html
    看看有需要的不
      

  5.   

    string x=HttpContext.Current.Server.UrlEncode(要转换的字符串);
    页面上Server.UrlDecode(字符串);