Javascript ASPNETZERO-如何更改索引页以呈现平铺而不是表格
我目前有一个普通的ASPNETZERO索引页面,它呈现一个带有搜索功能的datatable网格。我想更改此视图,以便为网格中的每一行渲染“平铺”。我已经有了CSS/HTML来渲染瓷砖了。我基本上想重新利用下面的index.js代码来呈现我的分幅,而不是datatable网格Javascript ASPNETZERO-如何更改索引页以呈现平铺而不是表格,javascript,asp.net,asp.net-mvc,asp.net-core,aspnetboilerplate,Javascript,Asp.net,Asp.net Mvc,Asp.net Core,Aspnetboilerplate,我目前有一个普通的ASPNETZERO索引页面,它呈现一个带有搜索功能的datatable网格。我想更改此视图,以便为网格中的每一行渲染“平铺”。我已经有了CSS/HTML来渲染瓷砖了。我基本上想重新利用下面的index.js代码来呈现我的分幅,而不是datatable网格 (function () { $(function () { var _$companyTable = $('#companyTable'); var _companyService = abp.servic
(function () {
$(function () {
var _$companyTable = $('#companyTable');
var _companyService = abp.services.app.company;
var _permissions = {
create: abp.auth.hasPermission('Pages.Tenant.Administration.Company.Create'),
edit: abp.auth.hasPermission('Pages.Tenant.Administration.Company.Edit'),
impersonation: abp.auth.hasPermission('Pages.Tenants.Impersonation'),
};
var _createModal = new app.ModalManager({
viewUrl: abp.appPath + 'Nursing/Company/CreateModal',
scriptUrl: abp.appPath + 'view-resources/Areas/Nursing/Views/Company/_CreateModal.js',
modalClass: 'CreateCompanyModal'
});
var _editModal = new app.ModalManager({
viewUrl: abp.appPath + 'Nursing/Company/EditModal',
scriptUrl: abp.appPath + 'view-resources/Areas/Nursing/Views/Company/_EditModal.js',
modalClass: 'EditCompanyModal'
});
var dataTable = _$companyTable.DataTable({
paging: true,
serverSide: true,
processing: true,
responsive: true,
listAction: {
ajaxFunction: _companyService.getCompanies,
inputFilter: function () {
return {
filter: $('#CompanyTableFilter').val()
};
}
},
columnDefs: [
{
targets: 0,
data: null,
orderable: false,
autoWidth: true,
defaultContent: '',
rowAction: {
cssClass: 'btn btn-xs btn-primary blue',
text: '<i class="fa fa-cog"></i> ' + app.localize('Actions') + ' <span class="caret"></span>',
items: [{
text: app.localize('Edit'),
visible: function () {
return _permissions.edit;
},
action: function (data) {
_editModal.open({ id: data.record.id });
}
}]
}
},
{
targets: 1,
orderable: true,
autoWidth: true,
data: "companyName"
},
{
targets: 2,
orderable: true,
autoWidth: true,
data: "companyLegalName"
},
{
targets: 3,
autoWidth: true,
data: "companyTaxID"
},
{
targets: 4,
orderable: true,
autoWidth: true,
data: "currency"
}
]
});
function getCompanies() {
dataTable.ajax.reload();
}
$('#CreateNewCompanyButton').click(function (e) {
_createModal.open();
});
$('#GetCompaniesButton').click(function (e) {
e.preventDefault();
getCompanies();
});
abp.event.on('app.editCompanyModalSaved', function () {
getCompanies(true);
});
abp.event.on('app.createCompanyModalSaved', function () {
getCompanies(true);
});
$('#CompanyTableFilter').focus();
});
(函数(){
$(函数(){
var$companyTable=$(“#companyTable”);
var_companyService=abp.services.app.company;
var\u权限={
create:abp.auth.hasPermission('Pages.Tenant.Administration.Company.create'),
编辑:abp.auth.hasPermission('Pages.Tenant.Administration.Company.edit'),
模拟:abp.auth.hasPermission('Pages.Tenants.impersonation'),
};
var _createModal=新建app.ModalManager({
viewUrl:abp.appPath+“护理/公司/创建模式”,
scriptUrl:abp.appPath+“查看资源/区域/护理/视图/公司/_CreateModal.js”,
modalClass:“CreateCompanyModel”
});
var_editmodel=新建app.ModalManager({
viewUrl:abp.appPath+“护理/公司/编辑模式”,
scriptUrl:abp.appPath+“查看资源/区域/护理/视图/公司/_EditModal.js”,
modalClass:“EditCompanyModel”
});
var dataTable=\$companyTable.dataTable({
是的,
服务器端:是的,
处理:对,
回答:是的,
清单行动:{
ajaxFunction:_companyService.getcompanys,
inputFilter:函数(){
返回{
筛选器:$('#CompanyTableFilter').val()
};
}
},
columnDefs:[
{
目标:0,
数据:空,
可订购:错误,
自动宽度:正确,
defaultContent:“”,
行动:{
cssClass:'btn btn xs btn主蓝',
文本:“”+应用程序本地化('Actions')+“”,
项目:[{
文本:app.localize('Edit'),
可见:函数(){
返回_permissions.edit;
},
行动:功能(数据){
_打开({id:data.record.id});
}
}]
}
},
{
目标:1,
可订购的:是的,
自动宽度:正确,
数据:“公司名称”
},
{
目标:2,
可订购的:是的,
自动宽度:正确,
数据:“公司名称”
},
{
目标:3,
自动宽度:正确,
数据:“companyTaxID”
},
{
目标:4,
可订购的:是的,
自动宽度:正确,
数据:“货币”
}
]
});
职能(公司){
dataTable.ajax.reload();
}
$(“#创建按钮”)。单击(函数(e){
_createModal.open();
});
$(“#GetCompanyButton”)。单击(函数(e){
e、 预防默认值();
getCompanies();
});
abp.event.on('app.editCompanyDalSaved',函数(){
获得公司(真实);
});
abp.event.on('app.createCompanyDalSaved',函数(){
获得公司(真实);
});
$(“#CompanyTableFilter”).focus();
});
如何更改上面的JS代码以呈现我的互动程序而不是datatable?我还希望保留互动程序的搜索功能。上面JS代码中使用的应用程序服务方法GetCompanys用于呈现我的互动程序。因此API调用将保持不变
下面是我希望从上述JS代码中获得的输出。
这是当前的标准ABP索引页面视图。我想用上面的图块替换它。
我找到了一个解决方案。我通过添加如下所示的方法更改了index.js代码。我正在使用对API方法的AJAX调用,然后使用结果来呈现平铺输出。这对我来说很有效。 如果有人发现这种方法有任何问题,请务必告诉我
function getCompanies() {
$.ajax({
type: 'GET',
url: '/api/services/app/Company/GetCompanies',
dataType: 'json',
success: function (companies) {
var _tileHtml = "";
//Iterate thru JSON list of values
$.each(companies.result.items, function (i, company) {
//Tile content start
_tileHtml = "<div class='SingleTileContent inline-block'>";
//Header
_tileHtml += "<div class='Tile-header'>";
_tileHtml += "<div class='pull-left inline-block'>";
_tileHtml += "<div class='badge badge-info'>" + company.id + "</div>";
_tileHtml += "</div>";
_tileHtml += "<div class='pull-left inline-block text-bold'> | " + company.companyName + "</div>";
_tileHtml += "</div>";
//Body start
_tileHtml += "<div class='Tile-body text-left'>";
//Body row
_tileHtml += "<div class='Tile-body-detail'>";
_tileHtml += "<label>Legal Name</label> " + company.companyLegalName + "</div>";
//Body row
_tileHtml += "<div class='Tile-body-detail'>";
_tileHtml += "<label>Tax Id</label> " + company.companyTaxID + "</div>";
//Body end
_tileHtml += "</div>";
//Buttons (footer)
_tileHtml += "<div class='Tile-buttons'>";
_tileHtml += "<a href='javascript:;' class='btn btn-xs blue btnEdit' id='EditCompanyButton'>Edit<i class='fa fa-edit'></i></a>";
_tileHtml += "</div>";
//Tile content end
_tileHtml += "</div>";
$("#TestJS2").append(_tileHtml);
});
Count = 0;
},
error: function (ex) {
abp.notify.error('Failed to retrieve companies' + ex);
}
});
}
函数getcompanys(){
$.ajax({
键入:“GET”,
url:“/api/services/app/Company/getcompanys”,
数据类型:“json”,
成功:职能(公司){
var_tileHtml=“”;
//通过JSON值列表进行迭代
美元。每个(公司。结果。项目,职能(i,公司){
//磁贴内容开始
_tileHtml=“”;
//标题
_tileHtml+=“”;
_tileHtml+=“”;
_tileHtml+=“”+company.id+“”;
_tileHtml+=“”;
_tileHtml+=“|”+company.companyName+”;
_tileHtml+=“”;
//身体启动
_tileHtml+=“”;
//身体排
_tileHtml+=“”;
_tileHtml+=“法定名称”+company.companyLegalName+”;
//身体排
_tileHtml+=“”;
_tileHtml+=“税务Id”+company.companyTaxID+”;
//体端
_tileHtml+=“”;
//按钮(页脚)
_tileHtml+=“”;
_tileHtml+=“”;
_tileHtml+=“”;
//磁贴内容结束
_tileHtml+=“”;
$(“#TestJS2”).append(_tileHtml);
});
计数=0;
},
错误:函数(ex){
abp.notify.error('检索公司失败'