我在ASP.NET和UpdatePanel(scriptManager)中使用Jquery Datatable。 我有下以下錯誤:DataTables警告(表ID ='IDTableName'):無法重新初始化DataTable
DataTables warning (table id = 'tbVerificationApplicant'): Cannot reinitialise DataTable.
To retrieve the Datatables object for this table, pass no argument or see the docs for bRetrieve and bDestroy
這是Jquery的文件來創建表:
function DatatablesExec() {
$('#tbVerificationApplicant').dataTable({
'bProcessing': true,
'bServerSide': true,
"sPaginationType": "full_numbers",
'sAjaxSource': 'listVerificationData.ashx?ddlStatusValue=' + $("#ddlStatusClient option:selected").text(),
"fnDrawCallback": function() {
$('#tbVerificationApplicant tbody tr').click(function() {
var hRef = $("td:eq(0)", this).text();
document.location.href = 'frm_VerifyIdentity.aspx?ID=' + hRef;
});
}
});
}
$(document).ready(function() {
/* Initialise the DataTable */
DatatablesExec()
});
但是,爲了避免該表desapear後,我改變了下拉列表,我添加的下下面的代碼在網頁表單後面的代碼中。
protected void Page_Prerender(object sender, EventArgs e)
{
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "_function_dummyname", "<script type='text/javascript'>DatatablesExec();</script>", false);
}
}
它運行良好,但在開始時出現這個錯誤彈出。
氏是網頁形式的一部分:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlStatusClient" EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<table id="tbVerificationApplicant" class="display">
<thead>
嗨。我在PreRender中使用了RegisterStartupScript,因爲我使用的是UpdatePanel控件,當我點擊下拉列表時,表desapear。那爲什麼,如果我刪除它,這將不再有效。我需要從PreRender中的RegisterStartupScript引用Jquery中的函數。你知道我怎麼修改它? –
我在函數中添加了「bDestroy」:true,並且正在工作,錯誤desapear,但第一個負載中的佈局正在丟失。你知道爲什麼嗎? –
事實上,它不工作。 「bDestroy」:真的沒用。 –