Javascript 自动刷新多分区MVC
我想在MVC视图中更新表中的一列数据。 这是我要更新的视图Javascript 自动刷新多分区MVC,javascript,jquery,ajax,asp.net-mvc,razor,Javascript,Jquery,Ajax,Asp.net Mvc,Razor,我想在MVC视图中更新表中的一列数据。 这是我要更新的视图 <table class="table"> <tr> <th> @Html.DisplayNameFor(model => model.CurrentTemperature) </th> <th></th> </tr> @{int i = 1;} @foreach (var item in Model)
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.CurrentTemperature)
</th>
<th></th>
</tr>
@{int i = 1;}
@foreach (var item in Model)
{
<tr>
<td align="center" @*id="@("current"+i)" data-id="@item.ID"*@>
<div id="@("current"+i)" data-id="@item.ID">
@{Html.RenderAction("TemperatureUpdateDeviceList", new { idDevice = item.ID });}
</div>
</td>
</tr>
i++;
}
</table>
使用此方法无法执行正确的请求,因为生成的URL不正确。如何获得正确的URL
请注意,TemperatureUpdateDeviceList函数定义为:
public PartialViewResult TemperatureUpdateDeviceList(int idDevice)
{
return PartialView(temperatureModel);
}
您可以使用
varid=$(this.attr('data-id')
不会传递数据id
值,因为$(此)
不是您的
元素。如果要更新所有元素,请将html更改为
<div class="container" data-id="@item.ID">
@{Html.RenderAction("TemperatureUpdateDeviceList", new { idDevice = item.ID });}
</div>
url.Action()
生成的url是什么?您要查找的url是什么?您的基本url是正确的,但是您的id
不会是($(此)
不是元素)。没有必要给divs一个id属性。您可以使用一个类名获取所有div,并使用$。each()
循环,您可以在其中使用$(this.data('id')
和$(this.html)(partialView)
它不会返回参数:来自Stephens的idDevicePart正确观察-js片段是否放置在启用剃刀的视图中(即不在js文件中)?嗯,js与viewWorks位于同一个cshtml文件中,非常棒!非常感谢。
<div class="container" data-id="@item.ID">
@{Html.RenderAction("TemperatureUpdateDeviceList", new { idDevice = item.ID });}
</div>
var url = '@Url.Action("TemperatureUpdateDeviceList")';
setInterval(function () {
$('.container').each(function() {
var id = $(this).data('id');
var div = $(this);
$.get(url, { idDevice: id}, function(partialView) {
div.html(partialView);
});
});
},3000);