在应用过程中我使用gridview的hyperlinkfield属性传递的参数值,但是当姓名超过三个汉字的时候它会自动切去最后一个汉字,请问这是为什么?如传递参数的属性是这样定义的
<asp:HyperLinkField DataNavigateUrlFields="bianhao,szdw,username" DataNavigateUrlFormatString="workerxinxi.aspx?bhao={0}&suozdw={1}&name={2}"
HeaderText="姓名" Text="详细情况" DataTextField="username" >
<ItemStyle Font-Size="Smaller" Wrap="False" />
<HeaderStyle Font-Size="Smaller" />
</asp:HyperLinkField>
传递到目的页面时姓名如果为“张三丰”用response.write察看时只看到“张三”“丰”字被自动切掉了 这是由于汉字编码的引起的问题。只是在这个控件中应该如何解决?
<asp:HyperLinkField DataNavigateUrlFields="bianhao,szdw,username" DataNavigateUrlFormatString="workerxinxi.aspx?bhao={0}&suozdw={1}&name={2}"
HeaderText="姓名" Text="详细情况" DataTextField="username" >
<ItemStyle Font-Size="Smaller" Wrap="False" />
<HeaderStyle Font-Size="Smaller" />
</asp:HyperLinkField>
传递到目的页面时姓名如果为“张三丰”用response.write察看时只看到“张三”“丰”字被自动切掉了 这是由于汉字编码的引起的问题。只是在这个控件中应该如何解决?
解决方案 »
- svg超链接的问题
- 代码里为何没有onblur事件?
- .NET源码
- 我的services程序,为什么老停止运行呢?有谁碰到类似的情况吗?
- 分好少啊,问题也简单,想让用户选择本地文件夹
- Asp Net 调用 COM 组件 —— 无法正常启动进程(在线等)
- wap 问题 急急急
- 一个Visual Studio.Net 2003设置问题!
- 急!急!急!急!怎样判断一个字符串中汉字和字符的个数,谢谢
- 怎么取得光标所在的textbox的id号?在线等待,一试成功后马上给分
- 菜鸟问题,怎么把GridView绑定两个数据源?
- 请问为什么gridview的hyperlinkfield属性传递的参数值不全 (汉字丢失最后一个字)
<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>Response.Write(Request["name"]);
是正常的
<!-- 全球化
此节设置应用程序的全球化设置。
-->
<globalization
requestEncoding="GB2313"
responseEncoding="GB2313"
/>
</system.web>
但我并不推荐这种方法,更好的方法是进行编码转换,转换的方法是Server.UrlEncdo和Server.UrlDecode,应用到GridView绑定的方法是:
<asp:TemplateColumn>
<HeaderTemplate>
姓名
</HeaderTemplate>
<ItemTemplate>
<A href='workerxinxi.aspx?bhao=<%# Server.UrlEncode(DataBinder.Eval(Container.DataItem, "bianhao").ToString()) %>&suozdw=<%# Server.UrlEncode(DataBinder.Eval(Container.DataItem, "szdw").ToString()) %>&name=<%# Server.UrlEncode(DataBinder.Eval(Container.DataItem, "username").ToString()) %>'>
<%# DataBinder.Eval(Container.DataItem, "username") %>
</A>
</ItemTemplate>
</asp:TemplateColumn>然后,在workerxinxi.aspx里接受的时候需要解码:
string bhao = Server.UrlDecode(Request.QueryString["bhao"]);
string suozdw = Server.UrlDecode(Request.QueryString["suozdw"]);
string name = Server.UrlDecode(Request.QueryString["name"]);