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