C# 使用ASP.NET Webforms的条件响应
在我的应用程序中,我使用pjax在页面上提供部分响应。据我所知,pjax需要相同的url用于部分响应和完整响应,例如,以下url用于服务用户列表: 全部答复: //YouTube网站/用户 部分响应: //youwebsite/用户(连同X-PJAX头) 如果使用X-PJAX标头请求url,则需要部分响应,即仅用户列表,而如果没有此类标头,则需要从服务器获得完整响应,即完整页面(标头、正文、页脚等以及用户列表) 为了实现这一点,我制作了一个http处理程序来处理这种条件响应。我制作了TestHandler.ashx来实现这一点:C# 使用ASP.NET Webforms的条件响应,c#,asp.net,.net,webforms,pjax,C#,Asp.net,.net,Webforms,Pjax,在我的应用程序中,我使用pjax在页面上提供部分响应。据我所知,pjax需要相同的url用于部分响应和完整响应,例如,以下url用于服务用户列表: 全部答复: //YouTube网站/用户 部分响应: //youwebsite/用户(连同X-PJAX头) 如果使用X-PJAX标头请求url,则需要部分响应,即仅用户列表,而如果没有此类标头,则需要从服务器获得完整响应,即完整页面(标头、正文、页脚等以及用户列表) 为了实现这一点,我制作了一个http处理程序来处理这种条件响应。我制作了TestHa
<%@ WebHandler Language="C#" Class="TestHandler" %>
#region Using Directives
using System;
using System.Web;
using System.Web.Compilation;
using System.Web.UI;
#endregion
public class TestHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
if (context.Request.Headers["X-PJAX"] != null)
{
Type page_type = BuildManager.GetCompiledType("~/Templates/users.aspx");
Page page = (Page)Activator.CreateInstance(page_type);
page.ProcessRequest(context);
}
else
{
Type page_type = BuildManager.GetCompiledType("~/users.aspx");
Page page = (Page)Activator.CreateInstance(page_type);
page.ProcessRequest(context);
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
#区域使用指令
使用制度;
使用System.Web;
使用System.Web.compilement;
使用System.Web.UI;
#端区
公共类TestHandler:IHttpHandler
{
公共void ProcessRequest(HttpContext上下文)
{
if(context.Request.Headers[“X-PJAX”]!=null)
{
键入page\u Type=BuildManager.GetCompiledType(“~/Templates/users.aspx”);
Page Page=(Page)Activator.CreateInstance(Page\u类型);
page.ProcessRequest(上下文);
}
其他的
{
键入page\u Type=BuildManager.GetCompiledType(“~/users.aspx”);
Page Page=(Page)Activator.CreateInstance(Page\u类型);
page.ProcessRequest(上下文);
}
}
公共布尔可重用
{
收到
{
返回false;
}
}
}
如果请求中存在X-PJAX头,上述代码将从Templates/users.aspx页面返回响应。Templates/users.aspx页面包含用户列表的html代码。
如果该标题不存在,我们需要给出完整的响应,该响应来自~/users.aspx页面
我的问题是:
您可以在razor模板中移动条件,并根据该条件选择设置页面布局 什么剃须刀模板?什么布局?这个问题没有提到这些,而是专门讨论Web表单。