始终输出特定的HTML

本文关键字:HTML 输出 | 更新日期: 2023-09-27 18:25:51

我正面临ASP.NETMVC的问题。我正在研究一种技术,使会话在死亡(过期)后可以恢复。为了使这种技术发挥作用,我需要一种能够在调用控制器的操作方法后写入响应的方法。

哪种方法是最好的?是否有此操作筛选器?

始终输出特定的HTML

如果要使用基于属性的方法,请从ActionFilterAttribute派生并重写OnActionExecuted(在执行操作之后但在执行结果之前运行)或OnResultExecuted。

如果不按属性的方式进行,请实现IActionFilter或IResultFilter并实现上面提到的方法。

您可以分别通过filterContext.HttpContext.Response.OutputfilterContext.HttpContext.Response.OutputStream访问输出编写器/输出流。

创建一个将在执行操作后发生的筛选器,如下所示:

using System;
namespace Sample
{
    [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
    public class SampleFilter : ActionFilterAttribute
    {
        public override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            base.OnActionExecuted(filterContext);
        }
    }
}

然后像这样装饰你的动作:

[SampleFilter]
public virtual ActionResult Index()
{
    return View();
}