前端代码如下:
1、使用escape对中文变量的值进行统一编码;
function SearchAllPages(page, pagesize) { var activityState = $("#activityState").val(); var activityName = $("#activityName").val(); var startTime = $("#txtStartTime").attr("value"); var endTime = $("#txtEndTime").attr("value"); var activityType = $("ul li.active").attr("title"); $.ajax({ url: "ActivityList.ashx?startTime=" + startTime + "&endTime=" + endTime + "&activityState=" + activityState + "&activityName=" + activityName + "&activityType=" + escape(activityType) + "¤tPage=" + page + "&pagesize=" + pagesize, type: "post", dataType: "json", success: function (data) { currentPage = page; countPage = parseInt(data.Key / pagesize) + 1; if ((data.Key % pageSize) == 0) { countPage = countPage - 1; } $("#spanCurrentPage").html(CurrentPage); $("#spanPageCount").html(countPage); switch (activityType) { case "全部": DynamicAppendDiv("#page1", data); break; case "专享": DynamicAppendDiv("#page2", data); break; case "特价": DynamicAppendDiv("#page3", data); break; case "回馈": DynamicAppendDiv("#page4", data); break; } }, statusCode: { 500: function () { alert("服务器错误500"); } }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(textStatus + ":" + errorThrown); } }); }
一般处理程序如下:
2. 统一解码操作: context.Server.UrlDecode(context.Request.QueryString["activityType"].ToString());
context.Response.ContentType = "text/plain"; // 获得前台页面的查询条件 string activityState = context.Request.QueryString["activityState"]; string activityName = context.Request.QueryString["activityName"]; // string activityType = context.Request.QueryString["activityType"]; string activityType = context.Server.UrlDecode(context.Request.QueryString["activityType"].ToString()); DateTime startTime = DateTime.Parse(context.Request.QueryString["startTime"]); DateTime endTime = DateTime.Parse(context.Request.QueryString["endTime"]); int currentPage = int.Parse(context.Request.QueryString["currentPage"]); int pageSize = int.Parse(context.Request.QueryString["pageSize"]);