我写一段这样的代码:
Response.Redirect("~/trade/SearchTrade.aspx?st=he say:");
执行这段代码的时候,前面的这个~号不会被编译,仍然是~号,不能起到相对路径的作用,但是传过去的字符又一定会有:
怎么办呢?有没有人告诉我呀?

解决方案 »

  1.   

    加个编译符号 \
    Response.Redirect("\~/trade/SearchTrade.aspx?st=he say:"); 
      

  2.   

    Response.Redirect(@"~/trade/SearchTrade.aspx?st=he say:"); 
    加个@即可
      

  3.   

    try Server.MapPath Method
    string path = Server.MapPath("./trade/SearchTrade.aspx") + "?st" + Server.UrlEncode("he say:"); 
            Response.Redirect(path);        // SearchTrade.aspx 页面这样取
            string st = Server.UrlDecode(Request.QueryString["st"]);
      

  4.   

    for ~ try this:
    string path = this.ResolveUrl("~/trade/SearchTrade.aspx") + "?st" + Server.UrlEncode("he say:"); 
            Response.Redirect(path);        // SearchTrade.aspx 页面这样取
            string st = Server.UrlDecode(Request.QueryString["st"]);
      

  5.   

     LZ 可试着通过别的方法获取虚拟目录,然后加上你具体要跳转的页面 server.mappath()