В настоящее время у меня есть GridView, и я пытаюсь добавить кнопку. Я могу добавить его, но когда я нажимаю на него, я получаю эту странную ошибку в этой строке.ASP.net Добавление новой кнопки в GridView дает ошибку в jquery.dataTables.min.js
if(c.mData===a){var d=u(b,"sort")||u(b,"order"),e=u(b,"filter")||u(b,"search");
Ошибка:
Unhandled exception at line 91, column 426 in http://localhost:23549/Scripts/jquery.dataTables.min.js
0x800a138f - Microsoft JScript runtime error: 'mData' is null or not an object
Я сделал несколько исследований, и я не могу найти этот вопрос где-нибудь еще. Другие пользователи получают ту же ошибку, но ни один из них не использует ASP. Я попытался изменить некоторые свойства кнопки. Я также попытался добавить, что у него есть ButtonField, но я все равно получаю ту же ошибку.
<div class="datatable">
<asp:GridView runat="server" ID="jobGridView" AutoGenerateColumns="False" BorderWidth="0px" GridLines="None" CssClass="table table-hover table-condensed font13" OnRowDataBound="jobGridView_RowDataBound" DataKeyNames="site_id,id" OnRowCommand="OnOff">
<Columns>
<asp:BoundField DataField="site_id" meta:resourcekey="siteField" />
<asp:BoundField DataField="id" meta:resourcekey="jobNameField" />
<asp:BoundField DataField="job_start_date" meta:resourcekey="jobStartField" DataFormatString="{0:yyyy-MM-dd HH:mm:ss}" />
<asp:BoundField DataField="job_end_date" meta:resourcekey="jobEndField" DataFormatString="{0:yyyy-MM-dd HH:mm:ss}" />
<asp:BoundField DataField="job_duration" meta:resourcekey="jobDurationField" DataFormatString="{0:HH:mm:ss.fff}" />
<asp:BoundField DataField="job_last_run_elapsed_time" meta:resourcekey="jobElapsedTimeField" />
<asp:BoundField DataField="return_code" meta:resourcekey="returnCodeField" />
<asp:BoundField DataField="return_description" meta:resourcekey="returnDescriptionField" />
<asp:BoundField DataField="status_code" meta:resourcekey="statusField" />
<asp:BoundField DataField="job_last_failure" meta:resourcekey="jobLastFailureField" DataFormatString="{0:yyyy-MM-dd HH:mm:ss}" />
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkSelect" runat="server" Text="View" OnClientClick='<%# GetOpenTabJavascript(DataBinder.Eval(Container.DataItem, "id"), DataBinder.Eval(Container.DataItem, "site_id"))%>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" CommandName="OnOff" Text="Turn On/Off" ShowHeader="True" CommandArgument='<%# Eval("id") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
protected void OnOff(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "OnOff")
{
//This part gets hit when debugging, error is after
}
}
Если удалить кнопку все работает отлично. (Работа LinkButton)
Я попытался изменить тип события на RowEditing и RowUpdating. Такая же ошибка.
Где я могу начать отладку, чтобы узнать, откуда исходит ошибка? Не стесняйтесь задавать любые вопросы.
Я запустил ваш код так, как вы размещен здесь, я не получил ошибки даже после нажатия кнопки, я предполагаю, что может быть и другая вещь, которая создает проблему на вашей стороне, а не эту часть кода. –