伙计我在ASP.net MVC home
视图中有一个html表。现在,表格最初是通过模型中的数据填充的。现在点击主页上的某些按钮,我想更新表中的数据,即清除表中的数据,并用ajax调用中的数据更新。
这是我的表格:
<article class="scrlable">
<table>
<tr>
<td>#</td>
<td>Name</td>
<td>Status</td>
<td>Since</td>
</tr>
@{
int srno = 1;
foreach (var pendingResponseModel in Model.hrPendingResponseList)
{
<tr>
<td>@srno</td>
<td>@pendingResponseModel.CandidateName</td>
<td>@pendingResponseModel.CandidateLifeCycleStatusName</td>
@if (pendingResponseModel.DayDifference == "1")
{
<td>@(pendingResponseModel.DayDifference) day</td>
}
else
{
<td>@(pendingResponseModel.DayDifference) days</td>
}
</tr>
srno++;
}
}
</table>
</article>
这是我的ajax电话:
function GetStatusWise(control, departCode) {
$.ajax(
{
type: "GET",
url: "...URL..." + departCode,
dataType: "json",
crossDomain: true,
async: true,
cache: false,
success: function (data) {
$.each(data.data, function (index, value) {
// UPDATE TABLE HERE...
});
},
error: function (x, e) {
alert('There seems to be some problem while fetching records!');
}
}
);
}
从ajax调用返回的数据是JSON。它有Name,Status和Since元素。可以使用value.CandidateName
,value.Status
等
现在我想用我通过AJAX调用获得的值来更新上表的值。我该怎么做呢?是否可以替换整篇文章?
注意:我通过ajax调用得到多个值,这就是为什么我在函数上放置一个循环。
答案 0 :(得分:3)
我已通过以下代码解决了我的问题
function GetStatusWise(control, departCode) {
$.ajax(
{
type: "GET",
url: WebApiURL + ".....URL...." + departCode,
dataType: "json",
crossDomain: true,
async: true,
cache: false,
success: function (data) {
var srno = 1;
$('#tblPendingHrResponse').find($('.trTblPendingHrResponse')).remove();
$.each(data.data, function (index, value) {
random(value, srno);
srno++;
});
},
error: function (x, e) {
alert('There seems to be some problem while fetching records!');
}
}
);
}
function random(values, srno) {
var daydifference = values.DayDifference == 1 ? '<td>' + values.DayDifference + ' day </td>' : '<td>' + values.DayDifference + ' days </td>';
var tr = '<tr class="trTblPendingHrResponse">' +
'<td>' + srno + '</td>' +
'<td>' + values.CandidateName + '</td>' +
'<td>' + values.CandidateLifeCycleStatusName + '</td>' +
daydifference + '</tr>' + srno++;
$('#tblPendingHrResponse').append(tr);
}
答案 1 :(得分:1)
您可以使用jQuery追加。
success: function (data) {
$.each(data.data, function (index, value) {
$("table").html("Your HTML to updated");
});
},
答案 2 :(得分:0)
让你的控制器方法返回包含你的表或文章的部分。
[HttpPost]
public virtual ActionResult GetTable(ArticleViewModel viewModel)
{
// do stuff
return PartialView("_ArticleTable", viewModel);
}
然后更新jQuery中的表或文章:
你可以使用jQuery追加。
success: function (data) {
$("table").html(data);
},