有人会告诉我ASP中是否存在类似Response.AddHeader("Refresh", "10")
的内容。 NET MVC5,拜托?
我尝试了[OutputCache(NoStore = true, Location = OutputCacheLocation.Client, Duration = 10)]
,但它不起作用。
答案 0 :(得分:2)
[OutputCache]
用于缓存操作的输出。 Duration
param只是告诉它缓存该输出多长时间。 任何都没有设置HTTP标头,当然也不会自动刷新页面。
Reponse.AddHeader
在MVC5中仍然有效;你只需要确保你还没有开始响应。除非你做了一些不受欢迎的事情,否则这并不困难。例如,如果您要返回ViewResult
,请先调用它:
Response.AddHeader("Refresh", "10");
return View();
如果您直接写入回复,请确保在开始之前添加标题。
答案 1 :(得分:1)
您可以直接在控制器中使用它
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://www.google.com/recaptcha/api/siteverify?");
curl_setopt($ch, CURLOPT_POST, 1);
$campos=array('secret'=>$secreto,'response'=>$TheResponse);
curl_setopt($ch, CURLOPT_POSTFIELDS,$campos);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$ch_exec = curl_exec($ch);
$respuesta_google = json_decode($ch_exec,true);
var_dump($ch_exec);
var_dump($respuesta_google);
curl_close ($ch);
或者您可以制作自定义操作过滤器
public ActionResult MyAction()
{
Response.AddHeader("Refresh", "10");
return View();
}
用法
public class RefreshAttribute : ActionFilterAttribute, IActionFilter
{
public string Duration { get; set; }
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
var duration = 10;
Int32.TryParse(this.Duration, out duration);
filterContext.HttpContext.Response.AddHeader("Refresh", duration.ToString());
}
}