filterContext.HttpContext.Response.StatusCode = 999; filterContext.HttpContext.Response.ContentType = "application/x-javascript"; filterContext.Result = new ContentResult {
Content = "alert(123);",ContentType = "application/x-javascript"
}; filterContext.HttpContext.Response.End();
执行后他的Content-Type还是text/html,请问这是什么原因?要怎么解决呢?
filterContext.HttpContext.Response.End();
之后有没有加 return
?
没有加,但我试过加return也是text/html
@bgh: 建议提供这个 Filter 的更多代码
@dudu:
var controllerName = filterContext.RouteData.Values["controller"].ToString(); var actionName = filterContext.RouteData.Values["action"].ToString(); string qx = (controllerName + actionName).ToLower(); if (global.Jurisdiction.ContainsKey(qx)) { if (jh.IsJurisdIction(qx, Jur)) { } else { if (isAjax) { filterContext.HttpContext.Response.StatusCode = 999; filterContext.Result = new ContentResult { Content = "alert();", ContentType = "application/x-javascript" };//功能权限弹出提示框 filterContext.HttpContext.Response.End();
} else { filterContext.Result = new ContentResult { Content = "alert(23);", ContentType = "application/x-javascript" }; } } }
@bgh: 这里未发现问题,建议检查一下其他地方的代码
@dudu: 嗯,行,谢谢不厌其烦为我解答
你确定你把这个拦截器给添加到方法上了吗
调试的时候已经是先执行了
是 asp.net core 吗?
– dudu 6年前@dudu: 不是core
– bgh 6年前