当前位置:编程学习 > C#/ASP.NET >>

HttpHandler返回到页面

最近想用HttpHandler处理页面请求Write.aspx?ItemID=34

要求:
    在URL扑获参数的ItemID的值,如果ItemID为空则把则返回指定页面.

问题:
   当ItemID不为空时,Write.aspx页面为空白,为什么不能显示其页面内容呢?
----------------
在线等......
--------------------编程问答-------------------- public void ProcessRequest(HttpContext Context)
{
       try
        {
           HttpRequest Request = Context.Request;
           string Url = Request.Url.AbsolutePath;
           int RegStart = Url.LastIndexOf("/") + 1;
           Regex Reg = new Regex(@"\d+");
           if (Reg.IsMatch(Url, RegStart))
           {
             Context.Server.Execute("~/PermaLink.aspx?id=" + Reg.Match(Url, RegStart).Value);
            }
        }
} --------------------编程问答-------------------- 当ItemID不为空时,Write.aspx页面为空白,为什么不能显示其页面内容呢?
=====
PrecessRequest 怎么处理 的? --------------------编程问答-------------------- 我的ProcessRequest是这样处理的: 
public void ProcessRequest(System.Web.HttpContext context)
        {

            if (HttpContext.Current.Session["username"] == null)
            {

                HttpContext.Current.Server.Transfer("~/login.aspx", false);
            }
            else
            {
                if (HttpContext.Current.Request.QueryString["ItemID"] != null | HttpContext.Current.Request.QueryString["ItemID"].ToString() == "")
                {
                    HttpContext.Current.Response.Write("no");
                }
                else
                {
                    HttpContext.Current.Response.Write("yes");
                    context.Response.End();

                }
            }

        } --------------------编程问答-------------------- if   (HttpContext.Current.Request.QueryString[ "ItemID "]   !=   null   |   HttpContext.Current.Request.QueryString[ "ItemID "].ToString()   !=   "") {
      HttpContext.Current.Response.Write( "不为空"); 
}
else
{
HttpContext.Current.Response.Write( "为空"); 
context.Response.End(); 
}

不知道是不是这个意思 --------------------编程问答-------------------- 不是 | 应该是 & --------------------编程问答-------------------- 在默认情况下,IHttpHanlder中的ProcessRequest方法被调用时,是访问不到Session的,因为这时会话状态已经被卸载,除非继承了IRequiresSessionState 接口.

我怀疑在运行到这里的时候将会出错:
if   (HttpContext.Current.Session[ "username "]   ==   null)
{

   HttpContext.Current.Server.Transfer( "~/login.aspx ",   false);
   //context.Server.Transfer( "~/login.aspx ",   false);


--------------------编程问答-------------------- HttpContext.Current.Response.Write( "yes "); 
context.Response.End(); 


你end了, 当然page就不能在render页面控件到客户端了
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,