如何在3秒钟的超时功能上刷新我的桌子



我很难在5秒钟的时间内在MVC5应用程序的索引页中刷新我的桌子。我在这里读了很多有关它的文章,但是我的理解非常基本。

我有一个名为index的ActionResult,它返回一个存储过程以填充下拉列表并在选择一个值并提交该值时,我有另一个称为索引的控制器,但它上面有[HTTPPPOST]下拉列表将其传递给另一个存储的Proc,并将模型返回到创建表的视图中。我想在5秒钟内的时间里刷新这张桌子。我尝试使用以下以下内容首先使用按钮进行刷新。

<tbody id="refresh"> <!--The Id I use for my table -->
<input id="butt" type="submit" value="Go" /> <!--The button to refresh-->
<script>
    $("#butt").click(function () {
        $.ajax({
            url: '/Home/Index',
            success: function (data) {
                $("#refresh").html(data);
            }
        })
    })
</script>

这是我的控制器:

DBEntities  db = new DBEntites();
public ActionResult Index()
{
    CircuitClass model = new CircuitClass();
    model.MyCircuit = db.GetAllCircuits(DateTime.Today);
    return View(model);
}
[HttpPost]
public ActionResult Index(CircuitClass model)
{
    string circuit = model.SelectedCircuit.ToString();
    int raceNo = model.SelectedRaceNo;
    if (model.SelectedRaceNo == 0 || (model.SelectedCircuit == null))
    {
      return View("~/Views/Shared/Error.cshtml");
    }
    else
        model.MyResults = db.GetCircuitResults(circuit, raceNo, DateTime.Today).ToList();
    model.MyCircuit = db.GetAllCircuits(DateTime.Today);
    return View(model);
}

在调试中,我按下将我带到没有[HTTPPOST]的索引控制器的按钮,这是我需要刷新表的地方。我期望它将控制器加载给[httppost]。我的方法可能完全是错误的,有人可以帮忙吗?

使用JS使用setInterval函数每5秒调用display功能

$("#butt").on('click', display());
function display()
{
    $.ajax({
        url: '/Home/Index',
        success: function (data) {
            $("#refresh").html(data);
        }
    })
}
setInterval(function(){ display(); }, 5000); //Refreshes every 5 sec

(OR(trigger按钮单击每5秒

$("#butt").click(function () {
    $.ajax({
        url: '/Home/Index',
        success: function (data) {
            $("#refresh").html(data);
        }
    })
})
setInterval(function(){  $("#butt").trigger('click') }, 5000);

最新更新