请考虑以下jquery DataTable刷新代码:
在cshtml中:
<table id="companies" class="table table-bordered table-responsive table-hover">
<thead>
<tr>
<th></th>
<th>CompanyName</th>
</tr>
</thead>
<tbody></tbody>
</table>
<input id="btn" type="button" value="button" />
<input id="hdnTest" type="hidden" value="1" name="testinput">
在剧本中:
$('#btn').click(function () {
$('#hdnTest').attr('value', '2');
$('#companies').DataTable().ajax.reload();
});
$(document).ready(function () {
var table = $("#companies").DataTable({
processing: true,
serverSide: true,
ajax: {
url: "../Home/Companies",
type: "POST",
data: { CompanyID: $('#hdnTest').val() }
}
})
});
在.cs:
[HttpPost]
public JsonResult Companies(CompanyDto objCompanyDto)
{
隐藏字段默认值为&#34; 1&#34;,因此第一次加载页面时,方法公司被调用,objCompanyDto公司ID为&#34; 1&#34;。
单击该按钮,隐藏字段的值更改为&#34; 2&#34;,在DataTable上调用重新加载函数,方法公司被调用,但objCompanyDto的CompanyID仍然具有值&#34 1#34;
如何将hiddenfield的新值传递给Companies方法?
答案 0 :(得分:0)
Hiddenfield可能无法到达更改时间。请尝试以下声明。
$('#btn').click(function () {
$('#hdnTest').attr('value', '2');
setInterval(function () {
$('#companies').DataTable().ajax.reload();
}, 60000);
});