如何正确地自动加载页面或A div?

时间:2019-05-27 02:29:37

标签: javascript c# asp.net asp.net-mvc model-view-controller

我正在创建一个简单的排队系统,现在当我单击名为BtnNxt()的按钮时,它将使我排队的数据出队并呈现到我的页面。并从另一个页面进行渲染。这是我的呼叫屏幕页面,但是当我再次单击它时,需要刷新我的呼叫屏幕页面以更新队列中的当前号码。所以我想要的是,我想刷新页面或div来更新它吗?

这是我的BtnNext()控制器:

   public ActionResult BtnNext()
    {
        System.Threading.Thread.Sleep(500);
        var first = MyQueue.todayQueue.Dequeue();
        MyQueue.todayQueue.Count();
        TempData["QueueItem"] = first;
        TempData.Keep();
        return PartialView("_queuenumber");
    }

这是我的呼叫屏幕页面:

@{
    var item = (Rosh.QueueMe.Web.Models.MyQueue)TempData["QueueItem"];
}
<table>
    <tr>
        <th scope="tickets">TICKETS</th>
        <th scope="name">NAME</th>
        <th scope="counter">COUNTER</th>
        <th scope="service">SERVICE</th>
    </tr>
    <tr class="data">
        <td>#@item.QueueNumber</td>
        <td>@item.Name</td>
        <td>Desk 1</td>
        <td>@item.ServiceId</td>
    </tr>
</table>

我尝试使用此代码

<meta http-equiv="refresh" content="1" />

此代码每1秒钟刷新一次我的页面,但是是否可以重新加载div?也许使用ajax?

2 个答案:

答案 0 :(得分:0)

在两端服务器和客户端上都使用asyn关键字,将微调器加载器添加到要自动加载的每个div中。不要做任何自定义操作,因为有时线程会花费更多时间,但实际上他并不需要更多时间睡觉,因此最好的解决方案是使每个控制器ayns和调用者也必须异步。

答案 1 :(得分:0)

<script type="text/javascript">
    $(function() {
        setInterval(loadData,1000);  // invoke load every second
        loadData(); // load on initial page loaded
    });

    function loadData() {
        $('#Div').load( '/controller/BtnNext' );
    }
</script>