C# 添加JSON调用后,在MVC部分视图中呈现DataTables.net时出现问题
我试图在我的项目中使用datatables和jeditable在屏幕上呈现一个可编辑的表。这将显示在由索引调用的局部视图中。但是,当我尝试加载它时,它会在屏幕上显示页面的html,而不是呈现页面。有人能告诉我我在修复这个问题上做错了什么吗 以下是我的部分观点:C# 添加JSON调用后,在MVC部分视图中呈现DataTables.net时出现问题,c#,javascript,jquery,asp.net-mvc,json,C#,Javascript,Jquery,Asp.net Mvc,Json,我试图在我的项目中使用datatables和jeditable在屏幕上呈现一个可编辑的表。这将显示在由索引调用的局部视图中。但是,当我尝试加载它时,它会在屏幕上显示页面的html,而不是呈现页面。有人能告诉我我在修复这个问题上做错了什么吗 以下是我的部分观点: <script type="text/javascript" src="../../Scripts/jquery-1.9.1.js"></script> <script type="text/javascr
<script type="text/javascript" src="../../Scripts/jquery-1.9.1.js"></script>
<script type="text/javascript" src="../../Scripts/FixedColumns.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.dataTables.js"></script>
<script type ="text/javascript" src="../../Scripts/jquery.jeditable.mini.js"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function () {
var oTable1 = $('#myDataTable').dataTable({
"bServerSide": true,
"sAjaxSource": '/Home/PartialView',
"fnDrawCallback": function () {
$('#myDataTable tbody td:nth-child(2)').editable('/Home/Write/', {
"callback": function (sValue, y) {
oTable1.fnDraw();
},
});
}
});
})
</script>
<table id ="myDataTable" class="display">
<thead>
<tr>
<th>Analysis ID</th>
<th>Name</th>
<th>Time</th>
<th>Sample Type</th>
<th>Grade</th>
<th>Product ID</th>
</thead>
<tbody>
</tbody>
</table>
我的控制器:
public ActionResult PartialView(jQueryDataTableParamModel param, string Search)
{
PartialModel D = new PartialModel();
IEnumerable<PartialModel> model = D.SlagList;
D.ViewDataPull(Search);
return Json(new
{
sEcho = param.sEcho,
iTotalRecords = D.List.Count(),
iTotalDisplayRecords = D.List.Count(),
aaData = D.List
},
JsonRequestBehavior.AllowGet);
}
public ActionResult PartialView(jQueryDataTableParamModel参数,字符串搜索)
{
PartialModel D=新的PartialModel();
IEnumerable模型=D.SlagList;
D.ViewDataPull(搜索);
返回Json(新的
{
sEcho=param.sEcho,
iTotalRecords=D.List.Count(),
iTotalDisplayRecords=D.List.Count(),
aaData=D.列表
},
JsonRequestBehavior.AllowGet);
}
您是否检查过AJAX调用是否没有返回经过净化的html而不是真正的html?对不起,这听起来太简单了。我想,你弄错了。您应该为整个表(包括数据行)呈现一个html标记(例如,使用该操作或分部方法),然后在该html表上调用datatable()
,将从中生成一个jquery datatable。(当您从PartialView
方法返回JsonResult
时,您只能获得呈现的Json对象的内容,而不是HTML表标记)@iGanja当我查看它时,它似乎返回了一个标准Json数组。这是我第一次这样做,所以我愿意接受任何事情。
public ActionResult PartialView(jQueryDataTableParamModel param, string Search)
{
PartialModel D = new PartialModel();
IEnumerable<PartialModel> model = D.SlagList;
D.ViewDataPull(Search);
return Json(new
{
sEcho = param.sEcho,
iTotalRecords = D.List.Count(),
iTotalDisplayRecords = D.List.Count(),
aaData = D.List
},
JsonRequestBehavior.AllowGet);
}