C# ASPNETZERO-数据表问题

C# ASPNETZERO-数据表问题,c#,asp.net,datatable,aspnetboilerplate,C#,Asp.net,Datatable,Aspnetboilerplate,我已将我的解决方案升级到最新版本的ASPNETZERO V4.x。我有MVC5和.NET核心版本的模板。我之所以升级,是因为我更喜欢使用DataTables插件,并且已经在现有版本的ASPNETZERO解决方案中实现了所有代码。 看来ASPNETZERO已经实现了DataTables的“自定义”版本。现在,升级之前的工作数据表正在崩溃。 我已经将Metronic源代码中作为示例提供的可编辑datatables代码复制到我的ASPNETZERO解决方案中,它工作得非常好。现在,在V4.X升级之后,

我已将我的解决方案升级到最新版本的ASPNETZERO V4.x。我有MVC5和.NET核心版本的模板。我之所以升级,是因为我更喜欢使用DataTables插件,并且已经在现有版本的ASPNETZERO解决方案中实现了所有代码。 看来ASPNETZERO已经实现了DataTables的“自定义”版本。现在,升级之前的工作数据表正在崩溃。 我已经将Metronic源代码中作为示例提供的可编辑datatables代码复制到我的ASPNETZERO解决方案中,它工作得非常好。现在,在V4.X升级之后,它已经破坏了这段代码。当我在下载的解决方案中查看租户、角色和用户等页面的DataTables使用脚本时,我看到应用于DataTables初始化的选项在DataTables文档中不存在。例如,在Datatables.net文档中找不到初始化属性“listAction”

        var dataTable = _$usersTable.DataTable({
        listAction: {
            ajaxFunction: _userService.getUsers,
            inputFilter: function () {
                return {
                    filter: $('#UsersTableFilter').val(),
                    permission: $("#PermissionSelectionCombo").val(),
                    role: $("#RoleSelectionCombo").val()
                };
            }
        },
以上让我相信这是ASPNETZERO团队的“定制”数据表版本。我没有看到任何关于如何使用此“自定义”版本的文档,DataTables.net站点的文档与我在提供的解决方案中看到的代码不匹配。还有其他人遇到过这样的问题吗? 是否有关于此“自定义”datatbles实现的文档

@阿尔珀当我说硬编码时,我的意思是这样的:

        <table class="table table-bordered table-striped table-hover" id="tblRel">
        <thead>
            <tr>
                <td>Version</td>
                <td>Publish Date MST</td>
                <td>Publish Date <b>GMT</b></td>
                <td>Release notes</td>
            </tr>
        </thead>
        <tbody>
            <tr class="danger">
                <td>1.0.0.5</td>
                <td></td>
                <td></td>
                <td>
                    <ul>
                        <li>Updated tooltip for resident funding icon on resident index page.</li>
                        <li>Contacts - Added additional column for contact name and emergency contact flag</li>
                        <li>HR - Jobcode - Band level is no longer a required field</li>
                    </ul>
                </td>
            </tr>
            <tr>
        </tbody>
    </table>
<table class="table table-striped table-hover table-bordered" id="Contacts">
                        <thead>
                            <tr>
                                <th>@L("ContactName")</th>
                                <th>@L("ContactType")</th>
                                <th>@L("ContactCategory")</th>
                                <th>@L("Email")</th>
                                <th>@L("Phone")</th>
                                <th>@L("DefaultYN")</th>
                                <th>@L("EmergencyYN")</th>
                                <th>@L("Edit")</th>
                            </tr>
                        </thead>
                        <tbody>
                            @if (Model.Company.Contacts.Count != 0)
                            {
                                foreach (var ctc in Model.Company.Contacts)
                                {
                                    <tr>
                                        <td>@(ctc.Contact.ContactName)</td>
                                        <td>@(ctc.Contact.TypeName)</td>
                                        <td>@(ctc.Contact.CategoryName)</td>
                                        <td>@(ctc.Contact.Email)</td>
                                        <td>@(ctc.Contact.Phone)</td>
                                        @if (ctc.Contact.DefaultYN)
                                        {
                                            <td>@L("Yes")</td>
                                        }
                                        else
                                        {
                                            <td>@L("No")</td>
                                        }
                                        @if (ctc.Contact.EmergencyContactYN)
                                        {
                                            <td>@L("Yes")</td>
                                        }
                                        else
                                        {
                                            <td>@L("No")</td>
                                        }
                                        <td>
                                            <a class="edit btn btn-xs btn-primary" href="javascript:;">@L("Edit") </a>
                                        </td>
                                    </tr>
                                }
                            }
                        </tbody>
                    </table>

版本
发布日期MST
发布日期格林尼治标准时间
发行说明
1.0.0.5
  • 居民索引页面上居民资金图标的更新工具提示
  • 联系人-添加了联系人姓名和紧急联系人标志的附加列
  • HR-工作代码-波段级别不再是必填字段
像这样的:

        <table class="table table-bordered table-striped table-hover" id="tblRel">
        <thead>
            <tr>
                <td>Version</td>
                <td>Publish Date MST</td>
                <td>Publish Date <b>GMT</b></td>
                <td>Release notes</td>
            </tr>
        </thead>
        <tbody>
            <tr class="danger">
                <td>1.0.0.5</td>
                <td></td>
                <td></td>
                <td>
                    <ul>
                        <li>Updated tooltip for resident funding icon on resident index page.</li>
                        <li>Contacts - Added additional column for contact name and emergency contact flag</li>
                        <li>HR - Jobcode - Band level is no longer a required field</li>
                    </ul>
                </td>
            </tr>
            <tr>
        </tbody>
    </table>
<table class="table table-striped table-hover table-bordered" id="Contacts">
                        <thead>
                            <tr>
                                <th>@L("ContactName")</th>
                                <th>@L("ContactType")</th>
                                <th>@L("ContactCategory")</th>
                                <th>@L("Email")</th>
                                <th>@L("Phone")</th>
                                <th>@L("DefaultYN")</th>
                                <th>@L("EmergencyYN")</th>
                                <th>@L("Edit")</th>
                            </tr>
                        </thead>
                        <tbody>
                            @if (Model.Company.Contacts.Count != 0)
                            {
                                foreach (var ctc in Model.Company.Contacts)
                                {
                                    <tr>
                                        <td>@(ctc.Contact.ContactName)</td>
                                        <td>@(ctc.Contact.TypeName)</td>
                                        <td>@(ctc.Contact.CategoryName)</td>
                                        <td>@(ctc.Contact.Email)</td>
                                        <td>@(ctc.Contact.Phone)</td>
                                        @if (ctc.Contact.DefaultYN)
                                        {
                                            <td>@L("Yes")</td>
                                        }
                                        else
                                        {
                                            <td>@L("No")</td>
                                        }
                                        @if (ctc.Contact.EmergencyContactYN)
                                        {
                                            <td>@L("Yes")</td>
                                        }
                                        else
                                        {
                                            <td>@L("No")</td>
                                        }
                                        <td>
                                            <a class="edit btn btn-xs btn-primary" href="javascript:;">@L("Edit") </a>
                                        </td>
                                    </tr>
                                }
                            }
                        </tbody>
                    </table>

@L(“联系人姓名”)
@L(“联系人类型”)
@L(“联系人类别”)
@L(“电子邮件”)
@L(“电话”)
@L(“违约人”)
@L(“紧急情况”)
@L(“编辑”)
@如果(Model.Company.Contacts.Count!=0)
{
foreach(Model.Company.Contacts中的var ctc)
{
@(ctc.Contact.ContactName)
@(ctc.Contact.TypeName)
@(ctc.Contact.CategoryName)
@(ctc.Contact.Email)
@(反恐委员会联络电话)
@if(ctc.Contact.DefaultYN)
{
@L(“是”)
}
其他的
{
@L(“否”)
}
@如果(ctc.Contact.EmergencyContactYN)
{
@L(“是”)
}
其他的
{
@L(“否”)
}
}
}

在以上两个示例中,Datatables代码不获取表数据。我在这些表上使用的简单初始化在V4.X中不再有效。

项目中使用的Datatables版本是1.10.12。 它不是一个完全定制的版本,但在不破坏现有功能的情况下添加了新功能。您可以忽略自定义函数,使用基于1.10.12版本的所有功能

它是文件名datatables.all.min.js中包含的所有插件的组合版本。 此文件由Metronic团队创建。并且Aspnet Zero团队使用该文件与Metronic主题进行完全兼容的集成

您可以在datatables.all.min.js中看到包含的库

  • JSZip 2.5.0
  • pdfmake 0.1.18
  • 数据表1.10.12
  • 按钮1.2.1
  • 立柱可见性1.2.1
  • Flash导出1.2.1
  • HTML5导出1.2.1
  • 打印视图1.2.1
  • ColReorder 1.3.2
  • 固定柱3.2.2
  • 固定收割台3.1.2
  • 响应2.1.0
  • 行重新排序1.1.2
  • 滚动条1.4.2
  • 选择1.2.0
Aspnet零团队定制是

覆盖以下文件中的默认值:

\wwwroot\Common\Scripts\Datatables\datatables.defaults.js
添加了“listAction”函数,以制作一个适配器,用于从ABP WebApi服务获取数据。您可以查看datatables.ajax.js文件以了解如何完成工作

\wwwroot\Common\Scripts\Datatables\datatables.ajax.js
\wwwroot\Common\Scripts\Datatables\datatables.record-actions.js
添加了“rowAction”以创建操作按钮。您可以查看datatables.record-actions.js文件以了解如何完成操作

\wwwroot\Common\Scripts\Datatables\datatables.ajax.js
\wwwroot\Common\Scripts\Datatables\datatables.record-actions.js
该插件位于以下位置:

wwwroot/metronic/assets/global/plugins/datatables/datatables.all.min.js
wwwroot\Common\Scripts\Datatables\Translations\
所有翻译文件都位于此处:<