Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 添加JSON调用后,在MVC部分视图中呈现DataTables.net时出现问题_C#_Javascript_Jquery_Asp.net Mvc_Json - Fatal编程技术网

C# 添加JSON调用后,在MVC部分视图中呈现DataTables.net时出现问题

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

我试图在我的项目中使用datatables和jeditable在屏幕上呈现一个可编辑的表。这将显示在由索引调用的局部视图中。但是,当我尝试加载它时,它会在屏幕上显示页面的html,而不是呈现页面。有人能告诉我我在修复这个问题上做错了什么吗

以下是我的部分观点:

<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);
    }