protected void Page_Load(object sender, System.EventArgs e)
{
//接受最大100个字符的搜索
keyWord =Helper.CheckString(Request.QueryString["KeyWord"]);
c1=Helper.CheckString(Request.QueryString["c1"]);
c2=Helper.CheckString(Request.QueryString["c2"]);
brandId=Helper.CheckString(Request.QueryString["bid"]);
//pid=Helper.CheckString(Request.QueryString["pid"]);
//针对url重写后,无法得到bid, url:SearchResult_cid-bid.html
string url=Request.Url.ToString();
if (url.EndsWith("html") && brandId==null)
{
brandId=url.Substring(url.LastIndexOf("/")+1);
if( brandId.IndexOf("-") > 0)
{
brandId=brandId.Substring(brandId.IndexOf("-")+1);  
brandId=brandId.Substring(0,brandId.Length-5);
}  
}

//url rewrite******************
string page=Request.Form["thisPager_input"];
 
 
if(c1!=null&&c1!=""&&keyWord==null && !url.EndsWith("html"))
{
// HttpContext.Current.RewritePath("category_"+categoryId+".html");
//if(page==null||page=="")
//{
// HttpContext.Current.RewritePath(GetUrlFromXML("SearchResult")+c1+"_"+c2+"_"+keyWord+GetUrlFromXML("Suffix"),"","");
//}
//else
//{
// HttpContext.Current.RewritePath(GetUrlFromXML("SearchResult")+c1+"_"+c2+"_"+page+"_"+keyWord+GetUrlFromXML("Suffix"),"","");
//} if (brandId!=null && brandId!="")
{
HttpContext.Current.RewritePath(GetUrlFromXML("SearchResult")+c1+"-"+brandId+GetUrlFromXML("Suffix"),"","");
}
else
{
// HttpContext.Current.RewritePath(GetUrlFromXML("SearchResult")+c1+"_"+c2+"_"+keyWord+GetUrlFromXML("Suffix"),"","");
//地址转向,解决百度搜索引擎为一级分类的老地址问题
string urls="/Products/SearchResult_"+c1+".html";
Response.Redirect(urls,true);   在这里跳出的 }
}
//***************************** this.CheckQueryType();             为什么不执行到这一步呢最后的方法不执行就跳到最上面  也就是说一直在if里面循环   因为他的条件成立 ,但是别人做的就可以执行下面的方法啊
我就是想问一下为什么if执行后会不向下执行,而是跳到最上面去了呢

解决方案 »

  1.   

    protected void Page_Load(object sender, System.EventArgs e) 

    //接受最大100个字符的搜索 
    keyWord =Helper.CheckString(Request.QueryString["KeyWord"]); 
    c1=Helper.CheckString(Request.QueryString["c1"]); 
    c2=Helper.CheckString(Request.QueryString["c2"]); 
    brandId=Helper.CheckString(Request.QueryString["bid"]); 
    //pid=Helper.CheckString(Request.QueryString["pid"]); 
    //针对url重写后,无法得到bid, url:SearchResult_cid-bid.html 
    string url=Request.Url.ToString(); 
    if (url.EndsWith("html") && brandId==null) 

    brandId=url.Substring(url.LastIndexOf("/")+1); 
    if( brandId.IndexOf("-") > 0) 

    brandId=brandId.Substring(brandId.IndexOf("-")+1); 
    brandId=brandId.Substring(0,brandId.Length-5); 

    } //url rewrite****************** 
    string page=Request.Form["thisPager_input"]; 
    if(c1!=null&&c1!=""&&keyWord==null && !url.EndsWith("html")) 

    // HttpContext.Current.RewritePath("category_"+categoryId+".html"); 
    //if(page==null||page=="") 
    //{ 
    // HttpContext.Current.RewritePath(GetUrlFromXML("SearchResult")+c1+"_"+c2+"_"+keyWord+GetUrlFromXML("Suffix"),"",""); 
    //} 
    //else 
    //{ 
    // HttpContext.Current.RewritePath(GetUrlFromXML("SearchResult")+c1+"_"+c2+"_"+page+"_"+keyWord+GetUrlFromXML("Suffix"),"",""); 
    //} if (brandId!=null && brandId!="") 

    HttpContext.Current.RewritePath(GetUrlFromXML("SearchResult")+c1+"-"+brandId+GetUrlFromXML("Suffix"),"",""); 

    else 

    // HttpContext.Current.RewritePath(GetUrlFromXML("SearchResult")+c1+"_"+c2+"_"+keyWord+GetUrlFromXML("Suffix"),"",""); 
    //地址转向,解决百度搜索引擎为一级分类的老地址问题 
    this.CheckQueryType();  放这里-先执行.再页页跳转
    string urls="/Products/SearchResult_"+c1+".html"; 
    Response.Redirect(urls,true);   } 

    //***************************** 
      

  2.   

    Response.Redirect(urls,false); 
    如果是true的话,当前页的执行将终止
      

  3.   


    当前线程都终止了,下面肯定不执行了,有try的话会看到错误信息的!
      

  4.   

    Response.Redirect(urls,true);  在这里跳出的 } 
    这样后面的当然不执行