在应用过程中我使用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察看时只看到“张三”“丰”字被自动切掉了 这是由于汉字编码的引起的问题。只是在这个控件中应该如何解决?
解决方案 »
- frame点击左侧菜单,右侧网页无法显示问题
- 为什么在IIS里连接不到数据库,而在VS2008中连接是正常的?
- |zyciis| 变态问题:如何判断一个类“Tools”是否存在 并可执行他里面的方法 第二贴:原来的OK了,但现在我改为ASP.NET AJAX方法就不行了 看下哪里错了 谢谢
- DropDownList 绑定问题
- 我就不信csdn上没人会用FtpWebRequest上传文件!
- asp.net forums的怪问题?
- listbox绑定问题,为什么listbox可以显示但是我的不到value值?
- 请教关于页面值回传的问题
- 图片按纽(runat=server)默认回车执行,思归等前面所给的方法好象无效
- Web应用中的DataGrid控件能否做出这样的表头?超难!
- 打不开项目
- 问个像CSDN注册用户的问题
requestEncoding="utf-8"
responseEncoding="utf-8"
/>
改为 <globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
试试
<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"]);
DataNavigateUrlFormatString="workerxinxi.aspx?bhao={0}&suozdw={1}&name={2}&s=1"
不知楼主遇到的是否也是这种情况