<asp:HyperLinkField DataNavigateUrlFields="ID,LJ,MS" DataTextField="MS" Target="_blank" DataNavigateUrlFormatString="ReadContent.aspx?LM=WLSW&PARENTID={0}&NEWPAGE={1}&TITLE=网络书屋.{2}">其中MS是中文,如果直接传送的话,到接受的页面会不正确,请问这里如何是用Server.UrlEncode呢?谢谢

解决方案 »

  1.   

    <%@ Page Language="C#" %><script runat="server">  protected void OrdersGridView_RowDataBound(object sender, GridViewRowEventArgs e)
      {
        HyperLinkField h = (HyperLinkField)OrdersGridView.Columns[3];
        h.DataNavigateUrlFormatString = "http://dd/ReadContent.aspx?LM=WLSW&PARENTID={0}&NEWPAGE={1}&TITLE=" + Server.UrlEncode("网络书屋") + ".{2}";
      }
    </script><html>
    <body>
      <form id="Form1" runat="server">
        <asp:GridView ID="OrdersGridView" DataSourceID="OrdersSqlDataSource"
          AutoGenerateColumns="false" runat="server" OnRowDataBound="OrdersGridView_RowDataBound">
          <Columns>
            <asp:BoundField DataField="OrderID" HeaderText="OrderID" />
            <asp:BoundField DataField="CustomerID" HeaderText="Customer ID" />
            <asp:BoundField DataField="OrderDate" HeaderText="Order Date"
              DataFormatString="{0:d}" />
            <asp:HyperLinkField DataNavigateUrlFields="OrderDate,OrderID,CustomerID,OrderDate"
              DataTextField="OrderDate" Target="_blank" />
          </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="OrdersSqlDataSource" SelectCommand="SELECT [OrderID], [CustomerID], [OrderDate] FROM [Orders]"
          ConnectionString="server=localhost;database=northwind;integrated security=SSPI"
          runat="server"></asp:SqlDataSource>
      </form>
    </body>
    </html>
      

  2.   

    Server.UrlEncode("网络书屋.{2}");
    行不?
      

  3.   

    这种的就不要用这个控件,自己用html去控制就可以了
      

  4.   

    好象webconfig中,把编码改成GB2312就可以在url中写汉字了
      

  5.   

    <asp:HyperLinkField DataNavigateUrlFields="ID,LJ,MS" DataTextField="MS" Target="_blank" DataNavigateUrlFormatString="ReadContent.aspx?LM=WLSW&PARENTID={0}&NEWPAGE={1}&TITLE=网络书屋.{2}">那就用反射方式解决
    <a href='ReadContent.aspx?LM=WLSW&PARENTID=<#%Eval("MS")%>&NEWPAGE=<#%Eval("LJ")%>&TITLE=<%#Server.UrlEncode("网络书屋." + Eval("MS"))%>' ><#%Eval("MS")%></a>