jQuery数据表通过ajax加载列和数据
我按照这个链接进行ajax调用,以动态加载Jquery数据表 在我开始尝试之前,我被我的想法困住了 那么,数据表如何发送iDisplayLength、iDisplayStart、sEcho等属性来进行分页和显示记录呢 我该怎么处理 链接中的示例代码供快速参考 我可以使用ajax获取数据和列的详细信息,但是如何处理在MVC中发送给控制器的参数呢 非常感谢您的帮助:)jQuery数据表通过ajax加载列和数据,jquery,asp.net-mvc,datatables,Jquery,Asp.net Mvc,Datatables,我按照这个链接进行ajax调用,以动态加载Jquery数据表 在我开始尝试之前,我被我的想法困住了 那么,数据表如何发送iDisplayLength、iDisplayStart、sEcho等属性来进行分页和显示记录呢 我该怎么处理 链接中的示例代码供快速参考 我可以使用ajax获取数据和列的详细信息,但是如何处理在MVC中发送给控制器的参数呢 非常感谢您的帮助:) 谢谢我的建议是在客户端使用手柄和应用数据表后呈现de表: 您将需要一个空表: <table id="mytable">
谢谢我的建议是在客户端使用手柄和应用数据表后呈现de表: 您将需要一个空表:
<table id="mytable">
<thead>
<tr>
<th>Col 1</th>
<th>Col 2</th>
<th>Col 3</th>
</tr>
</thead>
<tbody id="table_data_container">
<!-- Populated by JS -->
</tbody>
</table>
希望有帮助;) 我的建议是在客户端使用手柄和应用数据表后呈现de表: 您将需要一个空表:
<table id="mytable">
<thead>
<tr>
<th>Col 1</th>
<th>Col 2</th>
<th>Col 3</th>
</tr>
</thead>
<tbody id="table_data_container">
<!-- Populated by JS -->
</tbody>
</table>
希望有帮助;) 这将帮助您更改
dropdownlist
并提交按钮,以填充数据表中的数据
注意:在处理数据表时,此行将有助于传递表单中的其他控件值
@using (@Html.BeginForm("action", "controllername", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="table-responsive">
<div class="col-sm-12">
<div class="row">
<div class="col-md-3">
<label>Report type</label>
</div>
<div class="col-md-3">
@Html.DropDownList("ReportTypeEnum", new SelectList(Enum.GetValues(typeof(appname.Model.ReportTypeEnum))), new {@class = "form-control"})
</div>
<div class="col-md-3">
<button class="btn btn-primary col-sm-12">Submit</button>
</div>
in datatable binding model in ajax call as below:
[ "ajax": { "url": '@Url.Action("action", "controller")',
'type': 'GET',
"data": function (d) { d.reportType = $('#ReportTypeEnum :selected').text(); } //JSON.stringify({ reportType: varReportTypeEnum })
}]
this code will for controller
dropdown enum: code in model:
public enum ReportTypeEnum
{
Yes,
No,
NoResponse
}
and below datatable ajax calling method
public JsonResult ajaxcallmethod([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel, string reportType)// string reportType
{
// below is we are taking dropdownchange value based on that we load the data into datatable.
yourmodel model = new yourmodel ();
if (reportType.ToLower() == ReportTypeEnum.Yes.ToString().ToLower())
{
model.ReportTypeEnum = ReportTypeEnum.Yes;
}
else if (reportType.ToLower() == ReportTypeEnum.No.ToString().ToLower())
{
model.ReportTypeEnum = ReportTypeEnum.No;
}
else if (reportType.ToLower() == ReportTypeEnum.NoResponse.ToString().ToLower())
{
model.ReportTypeEnum = ReportTypeEnum.NoResponse;
}
data =// here model call
return Json(new DataTablesResponse((int)requestModel.Draw, data, transactionsListingResponse.PagerResource.ResultCount, transactionsListingResponse.PagerResource.ResultCount), JsonRequestBehavior.AllowGet);
}
@使用(@Html.BeginForm(“action”、“controllername”、FormMethod.Post))
{
@Html.AntiForgeryToken()
报告类型
@DropDownList(“ReportTypeEnum”,新的SelectList(Enum.GetValues(typeof(appname.Model.ReportTypeEnum))),新的{@class=“form control”})
提交
在ajax中的datatable绑定模型中调用如下:
[“ajax”:{“url”:'@url.Action(“Action”,“controller”),
'type':'GET',
“data”:函数(d){d.reportType=$('#ReportTypeEnum:selected').text()}//JSON.stringify({reportType:varReportTypeEnum})
}]
此代码将用于控制器
下拉枚举:模型中的代码:
公共枚举ReportTypeEnum
{
对
不
无反应
}
下面是datatable ajax调用方法
公共JsonResult ajaxcallmethod([ModelBinder(typeof(DataTableBinder))]IDataTablesRequestModel,string reportType)//string reportType
{
//下面是我们获取dropdownchange值的基础,我们将数据加载到datatable中。
yourmodel model=newyourmodel();
如果(reportType.ToLower()==ReportTypeEnum.Yes.ToString().ToLower())
{
model.ReportTypeEnum=ReportTypeEnum.Yes;
}
else if(reportType.ToLower()==ReportTypeEnum.No.ToString().ToLower())
{
model.ReportTypeEnum=ReportTypeEnum.No;
}
else if(reportType.ToLower()==ReportTypeEnum.NorResponse.ToString().ToLower())
{
model.ReportTypeEnum=ReportTypeEnum.NoResponse;
}
data=//这里是模型调用
返回Json(新DataTablesResponse((int)requestModel.Draw,data,TransactionListingResponse.PagerResource.ResultCount,TransactionListingResponse.PagerResource.ResultCount),JsonRequestBehavior.AllowGet);
}
这将帮助您更改下拉列表
和提交按钮,以填充数据表中的数据
注意:在处理数据表时,此行将有助于传递表单中的其他控件值
@using (@Html.BeginForm("action", "controllername", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="table-responsive">
<div class="col-sm-12">
<div class="row">
<div class="col-md-3">
<label>Report type</label>
</div>
<div class="col-md-3">
@Html.DropDownList("ReportTypeEnum", new SelectList(Enum.GetValues(typeof(appname.Model.ReportTypeEnum))), new {@class = "form-control"})
</div>
<div class="col-md-3">
<button class="btn btn-primary col-sm-12">Submit</button>
</div>
in datatable binding model in ajax call as below:
[ "ajax": { "url": '@Url.Action("action", "controller")',
'type': 'GET',
"data": function (d) { d.reportType = $('#ReportTypeEnum :selected').text(); } //JSON.stringify({ reportType: varReportTypeEnum })
}]
this code will for controller
dropdown enum: code in model:
public enum ReportTypeEnum
{
Yes,
No,
NoResponse
}
and below datatable ajax calling method
public JsonResult ajaxcallmethod([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel, string reportType)// string reportType
{
// below is we are taking dropdownchange value based on that we load the data into datatable.
yourmodel model = new yourmodel ();
if (reportType.ToLower() == ReportTypeEnum.Yes.ToString().ToLower())
{
model.ReportTypeEnum = ReportTypeEnum.Yes;
}
else if (reportType.ToLower() == ReportTypeEnum.No.ToString().ToLower())
{
model.ReportTypeEnum = ReportTypeEnum.No;
}
else if (reportType.ToLower() == ReportTypeEnum.NoResponse.ToString().ToLower())
{
model.ReportTypeEnum = ReportTypeEnum.NoResponse;
}
data =// here model call
return Json(new DataTablesResponse((int)requestModel.Draw, data, transactionsListingResponse.PagerResource.ResultCount, transactionsListingResponse.PagerResource.ResultCount), JsonRequestBehavior.AllowGet);
}
@使用(@Html.BeginForm(“action”、“controllername”、FormMethod.Post))
{
@Html.AntiForgeryToken()
报告类型
@DropDownList(“ReportTypeEnum”,新的SelectList(Enum.GetValues(typeof(appname.Model.ReportTypeEnum))),新的{@class=“form control”})
提交
在ajax中的datatable绑定模型中调用如下:
[“ajax”:{“url”:'@url.Action(“Action”,“controller”),
'type':'GET',
“data”:函数(d){d.reportType=$('#ReportTypeEnum:selected').text()}//JSON.stringify({reportType:varReportTypeEnum})
}]
此代码将用于控制器
下拉枚举:模型中的代码:
公共枚举ReportTypeEnum
{
对
不
无反应
}
下面是datatable ajax调用方法
公共JsonResult ajaxcallmethod([ModelBinder(typeof(DataTableBinder))]IDataTablesRequestModel,string reportType)//string reportType
{
//下面是我们获取dropdownchange值的基础,我们将数据加载到datatable中。
yourmodel model=newyourmodel();
如果(reportType.ToLower()==ReportTypeEnum.Yes.ToString().ToLower())
{
model.ReportTypeEnum=ReportTypeEnum.Yes;
}
else if(reportType.ToLower()==ReportTypeEnum.No.ToString().ToLower())
{
model.ReportTypeEnum=ReportTypeEnum.No;
}
else if(reportType.ToLower()==ReportTypeEnum.NorResponse.ToString().ToLower())
{
model.ReportTypeEnum=ReportTypeEnum.NoResponse;
}
data=//这里是模型调用
返回Json(新DataTablesResponse((int)requestModel.Draw,data,TransactionListingResponse.PagerResource.ResultCount,TransactionListingResponse.PagerResource.ResultCount),JsonRequestBehavior.AllowGet);
}
谢谢你的回答。我想在运行时通过服务器端分页加载列。有什么建议吗>,因为如果数据很大,我不想
@using (@Html.BeginForm("action", "controllername", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="table-responsive">
<div class="col-sm-12">
<div class="row">
<div class="col-md-3">
<label>Report type</label>
</div>
<div class="col-md-3">
@Html.DropDownList("ReportTypeEnum", new SelectList(Enum.GetValues(typeof(appname.Model.ReportTypeEnum))), new {@class = "form-control"})
</div>
<div class="col-md-3">
<button class="btn btn-primary col-sm-12">Submit</button>
</div>
in datatable binding model in ajax call as below:
[ "ajax": { "url": '@Url.Action("action", "controller")',
'type': 'GET',
"data": function (d) { d.reportType = $('#ReportTypeEnum :selected').text(); } //JSON.stringify({ reportType: varReportTypeEnum })
}]
this code will for controller
dropdown enum: code in model:
public enum ReportTypeEnum
{
Yes,
No,
NoResponse
}
and below datatable ajax calling method
public JsonResult ajaxcallmethod([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel, string reportType)// string reportType
{
// below is we are taking dropdownchange value based on that we load the data into datatable.
yourmodel model = new yourmodel ();
if (reportType.ToLower() == ReportTypeEnum.Yes.ToString().ToLower())
{
model.ReportTypeEnum = ReportTypeEnum.Yes;
}
else if (reportType.ToLower() == ReportTypeEnum.No.ToString().ToLower())
{
model.ReportTypeEnum = ReportTypeEnum.No;
}
else if (reportType.ToLower() == ReportTypeEnum.NoResponse.ToString().ToLower())
{
model.ReportTypeEnum = ReportTypeEnum.NoResponse;
}
data =// here model call
return Json(new DataTablesResponse((int)requestModel.Draw, data, transactionsListingResponse.PagerResource.ResultCount, transactionsListingResponse.PagerResource.ResultCount), JsonRequestBehavior.AllowGet);
}