Search code examples
javascriptasp.net-mvcasp.net-mvc-3

Auto refresh in ASP.NET MVC


In webforms I'd do

    <script type="text/JavaScript">
    function timedRefresh(timeoutPeriod) {
        setTimeout("location.reload(true);", timeoutPeriod);
    }
    </script>

    <body onload="JavaScript:timedRefresh(5000);">

or codebehind Page_Load

Response.AddHeader("Refresh", "5");

Question How to make the screen refresh every 5 seconds in ASP.NET MVC3


Solution

  • You could do the same in MVC:

    <script type="text/javascript">
    function timedRefresh(timeoutPeriod) {
        setTimeout(function() {
            location.reload(true);
        }, timeoutPeriod);
    }
    </script>
    <body onload="JavaScript:timedRefresh(5000);">
        ...
    </body>
    

    or using a meta tag:

    <head>
        <title></title>
        <meta http-equiv="refresh" content="5" />
    </head>
    <body>
        ...
    </body>
    

    or in your controller action:

    public ActionResult Index()
    {
        Response.AddHeader("Refresh", "5");
        return View();
    }