如下:在点击“修改”时传递给ModiPackage.aspx页面两个参数,其中PackageName的参数值为中文;我用Request.QueryString接收PackageName传来的中文参数时得到的是乱码。请问如何用Server.UrlEncode给:ModiPackage.aspx?PackageID={0}&&PackageName={1}中的两个参数(即:PackageID和PackageName)编码?<asp:GridView ID="GV_PackageList" runat="server" 
                  AutoGenerateColumns="False" 
                  DataKeyNames="PackageID,PackageName" Width="547px">
                  <Columns>
                      <asp:BoundField DataField="PackageID" HeaderText="包装ID" />
                      <asp:BoundField DataField="PackageName" HeaderText="产品包名称" />
                      <asp:HyperLinkField HeaderText="修改" Text="修改" 
                          DataNavigateUrlFields="PackageID,PackageName" 
                          DataNavigateUrlFormatString="ModiPackage.aspx?PackageID={0}&&PackageName={1}" 
                          Target="_blank" />
                  </Columns>
</asp:GridView>

解决方案 »

  1.   

    做成模板列不就好了                <asp:TemplateField HeaderText="Quantity">
                        <ItemTemplate>
                            <a href='ModiPackage.aspx?PackageID=<%# Eval("PackageID") %>&PackageName=<%# Eval("PackageName") %>' target="_blank">修改</a>
                        </ItemTemplate>
                    </asp:TemplateField>
      

  2.   

    忘了编码了:                <asp:TemplateField HeaderText="Quantity">
                        <ItemTemplate>
                            <a href='ModiPackage.aspx?PackageID=<%# Server.UrlEncode(Eval("PackageID").ToString()) %>&PackageName=<%# Server.UrlEncode(Eval("PackageName").ToString()) %>' target="_blank">修改</a>
                        </ItemTemplate>
                    </asp:TemplateField>
      

  3.   

    谢谢!ojlovecd 。正确,结贴!