走出URL.Authority?

时间:2011-09-26 04:47:34

标签: asp.net

我是asp.net和c#的新手。我已经设置了一个查询字符串,将值与url路径一起传递给另一个页面。但是一旦转到此页面,我将无法重定向到任何其他页面。

这是我的代码:

Uri url = System.Web.HttpContext.Current.Request.Url;
string urlString = "http://" + url.Authority + "/Projects/SearchResult.aspx/?Keywords=" + TxtSearch.Text;
Response.Redirect(urlString);

这是错误:

  

无法找到资源。描述:HTTP 404.资源你   正在寻找(或其中一个依赖)可能已被删除,   更改名称,或暂时不可用。请查阅   以下URL并确保拼写正确。

     

请求的网址:/Projects/Description.aspx/NewPost.aspx

1 个答案:

答案 0 :(得分:1)

错误只是表明您的网址错误 - 报告的网址/Projects/Description.aspx/NewPost.aspx似乎有误 - 它应该是/Projects/Description.aspx/Projects/NewPost.aspx

由于您的代码重定向到完全不同的页面(/Projects/SearchResult.aspx),您应检查上述重定向/转移的页码。

另外注意,你在形成网址时会遇到几个问题:

  1. 查询字符串未正确传递 - 您在问号之前使用了尾部斜杠,即/?Keywords - 您应该使用/Projects/SearchResult.aspx?Keywords=
  2. 通常,要在应用程序中传递给url,您应该使用~作为应用程序根目录 - 这样,您就不必担心主机名和&根虚拟目录(如果有)。例如,您可以写

    Response.Redirect(“〜/ Projects / SearchResult.aspx?keywords =”+ TxtSearch.Text);