我们以往如果要在QueryString中带着含有中文或者特殊字符的参数值时,我们通常可以使用Server.UrlEncode来编码QueryString要传递的参数值,如:abc.aspx?name=Server.UrlEncode("name")。但是在GridView中,如果使用邦定元素HyperLinkFiled控件时便无法处理这样的情况,这个时候可以转换成Templete,然后把本来使用<asp:HyperLink>控件的地方改为传统HTML的超链接方式,通过Server.UrlEncode格式化参数值来传递。
如下范例:
<asp:TemplateField HeaderText="型号">
<ItemTemplate>
<a href='abc.aspx?MODEL=<%#Server.UrlEncode(Eval("MODEL"))%>'><%# Eval("MODEL")%></a>
</ItemTemplate>
</asp:TemplateField>