问题的症状是偶数字数的中文可以正常传递,奇数字数的中文最后一个字会被砍掉。
Google了一下,解决的办法主要有以下几种:
2.采用模板列
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="hlLeagueName" runat="server" NavigateUrl='<%# "LeagueAnalysis.aspx?leagueName=" + Server.UrlEncode(DataBinder.Eval (Container.DataItem,"姓名").ToString()) + "&Season=" +
DataBinder.Eval(Container.DataItem,"年龄").ToString() %>' Text='<%# Eval("学生") %>' ></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
从实际应用来看,第一种方法更简单一些,基本不需要修改多少代码,直接加上就可以了。但是会引发其他的一些问题。第二种需要对代码稍作修改,副作用小。
Google了一下,解决的办法主要有以下几种:
1.设置web.config文件。
<system.web>
......
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />
......
</system.web>
......
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />
......
</system.web>
2.采用模板列
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="hlLeagueName" runat="server" NavigateUrl='<%# "LeagueAnalysis.aspx?leagueName=" + Server.UrlEncode(DataBinder.Eval (Container.DataItem,"姓名").ToString()) + "&Season=" +
DataBinder.Eval(Container.DataItem,"年龄").ToString() %>' Text='<%# Eval("学生") %>' ></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
从实际应用来看,第一种方法更简单一些,基本不需要修改多少代码,直接加上就可以了。但是会引发其他的一些问题。第二种需要对代码稍作修改,副作用小。
浙公网安备 33010602011771号