EnableUrlRewriting="True" 传中文参数,比如,传值“保险杠”的时候C#不管是用Server.UrlEncode编码还是HttpUtility.UrlEncode编码本来重写是这个,search.aspx?value=%e4%bf%9d%e9%99%a9%e6%9d%a0
写出来的为啥成了search.aspx?value=%bfe9a9%e6a0 页面上显示1,2,3,4,5页的时候是 这种编码,导致关键字搜索不到结果
写出来的为啥成了search.aspx?value=%bfe9a9%e6a0 页面上显示1,2,3,4,5页的时候是 这种编码,导致关键字搜索不到结果
显示出来会自己编码成
search.aspx?value=%bfe9a9%e6a0 这是什么编码格式????
search.aspx?value=保险杠
我说的是AspNetPager这个控件是否会自己编码,,url我已经编码过了,它自己又编码一回另:url上不要传中文
Version 7.3.2(2010-2-26)
1.修正了PageIndexBoxType为DropDownList时,PageIndexBoxClass和PageIndexBoxStyle属性无效的bug;
Version 7.3.1(2010-2-8)
1.解决了Url重写时,UrlRewritePattern属性中的字符被编码的问题,升级到该本后UrlRewritePattern属性值中的字符将不再被编码;
我用的就是最新版本哦,7。3。2。0
不用Server.UrlEncode或者HttpUtility编码直接这样输都会乱码都会再编码,看来版本升级没解决啊 string aa ="北京";
aa = Server.UrlEncode(aa);
AspNetPager1.UrlRewritePattern = "aaaa.aspx?page={0}&value="+aa;
调试跟踪是现实没错,//aaaa.aspx?page={0}&value=%b1%b1%be%a9到了IE里还是改了
aaaa.aspx?page=1&value=b1a9//改成这样了,这是什么编码
aaaa.aspx?page=2&value=b1a9
aaaa.aspx?page=3&value=b1a9
....
作者,这个问题肯定没解决哦
什么都不用,直接在html里就写死了,它都还编码
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" FirstPageText="首页"
LastPageText="未页" NextPageText="下一页" PrevPageText="上一页"
ShowPageIndexBox="Never" NumericButtonCount="5" EnableUrlRewriting="True" UrlPageSizeName="pageindex"
UrlPaging="True" EnableViewState="False" PageSize="10" UrlRewritePattern="aaaa.aspx?page={0}&value=%b1%b1%be%a9"></webdiyer:AspNetPager>
你这个问题我再次研究了好久,确实没解决 (最新版本,下了好几次的7.3.2) private void Bind()
{
int record;
this.Repeater1.DataSource = GetDataForPage(AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex, "1=1", out record, "Cars", "*");//任何数据源
this.Repeater1.DataBind();
string aa = "北京";
aa = HttpUtility.UrlEncode(aa, System.Text.Encoding.GetEncoding("GB2312"));//编码出来北京是 "%b1%b1%be%a9" AspNetPager1.UrlRewritePattern = "aa.aspx?page={0}&value=" + aa;//调试跟踪,url是"aa.aspx?page={0}&value=%b1%b1%be%a9"
AspNetPager1.RecordCount = record;
}页面控件显示的还是 http://localhost:5134/aa.aspx?page=2&value=b1a9
%b1%b1%be%a9变成b1a9了