2
我想更新MVC视图中的表中的一列数据。 这是我想要更新的视图。自动刷新多个div MVC
<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>
我写了一个简单的脚本来更新div。只是为了尝试,我决定只更新id = current4的第四个div。
$(function() {
setInterval(function() {
var id = $(this).attr('data-id');
$.ajax({
url: '@Url.Action("TemperatureUpdateDeviceList")',
type: 'GET',
data: { idDevice: id},
}).success(function (partialView) {
$('#current4').html(partialView);
});
},3000);
});
使用这种方法,因为所生成的URL是不正确的,我不能进行正确的请求。如何获得正确的网址?该TemperatureUpdateDeviceList函数定义为
注意:
public PartialViewResult TemperatureUpdateDeviceList(int idDevice)
{
return PartialView(temperatureModel);
}
Url.Action()生成的URL是什么?你在找什么网址? –
你的基本网址是正确的,但你的'id'不会是('$(this)'不是元素)。没有必要给你div一个id属性。你可以使用类名得到所有的div,并使用'$ .each()'循环,你可以使用$(this).data('id')'和'$(this)。 html(partialView)' –
它不返回参数:idDevice – Daniele