Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.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#MVC_C#_Jquery_Asp.net Mvc_Datagrid_Grid - Fatal编程技术网

控制器方法未命中数据表C#MVC

控制器方法未命中数据表C#MVC,c#,jquery,asp.net-mvc,datagrid,grid,C#,Jquery,Asp.net Mvc,Datagrid,Grid,我在应用程序中使用Datatables,但是没有触发获取数据控制器方法。 我能够在UI上呈现表,但数据为空 这是我的密码 在SITE.MASTER中导入的项目 <link href="/Scripts/DataTables/media/css/demo_page.css" type="text/css" rel="stylesheet" /> <link href="/Scripts/DataTables/media/css/demo_table.css" ty

我在应用程序中使用Datatables,但是没有触发获取数据控制器方法。 我能够在UI上呈现表,但数据为空

这是我的密码

在SITE.MASTER中导入的项目

 <link href="/Scripts/DataTables/media/css/demo_page.css" type="text/css"  rel="stylesheet" />

     <link href="/Scripts/DataTables/media/css/demo_table.css" type="text/css"  rel="stylesheet" />


      <script src="/Scripts/Lib/jquery-1.4.2.js" type="text/javascript" language="javascript"></script>

     <script type="text/javascript" charset="utf-8" src="/Scripts/DataTables/media/js/jquery.dataTables.js"></script>
下面是我的主控制器方法的外观

public ActionResult GridData()
        {
            return Json(new
            {
                aaData = new[] 
            {
                new [] { "Trident", "Internet Explorer 4.0", "Win 95+", "4", "X" },
                new [] { "Gecko", "Firefox 1.5", "Win 98+ / OSX.2+", "1.8", "A" },
                new [] { "Webkit", "iPod Touch / iPhone", "iPod", "420.1", "A" }
            }
            }, JsonRequestBehavior.AllowGet);
        }

请告诉我我的实现出了什么问题。

问题与您在静态HTML模板中使用服务器端帮助程序(
Url.Action(“GridData”,“Home”)
)有关,因为您没有根据您的场景对其进行修改,而是错误地复制粘贴了内容。此外,您使用的是WebForms视图引擎,而不是Razor

因此,我建议您将此模板制作成一个ASPX WebForm,通过一个控制器操作提供服务,允许您在其中使用服务器端助手

public class TemplatesController: Controller
{
    public ActionResult Report()
    {
        return View();
    }
}
然后您将有一个相应的视图:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>https://stackoverflow.com/questions/6946559/jqgrid-please-help</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" charset="utf-8">
    $(document).ready(function () {
        $('#example').dataTable({
            bProcessing: true,
            sAjaxSource: '<%= Url.Action("GridData", "Home") %>'
        });
    });
    </script>
</head>
<div id="dynamic">
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
    <thead>
        <tr>
            <th width="20%">Rendering engine</th>
            <th width="25%">Browser</th>
            <th width="25%">Platform(s)</th>
            <th width="15%">Engine version</th>
            <th width="15%">CSS grade</th>
        </tr>
    </thead>
    <tbody>

    </tbody>
</table>
</div>
</html>

https://stackoverflow.com/questions/6946559/jqgrid-please-help
$(文档).ready(函数(){
$('#示例')。数据表({
b处理:对,
SAJAX源:“”
});
});
渲染引擎
浏览器
月台
引擎版本
CSS等级

然后在加载模板时指定此控制器的正确路径(再次使用服务器端帮助程序)。

问题与您正在使用服务器端帮助程序有关(
Url.Action(“GridData”,“Home”)
)在静态HTML模板中,因为您没有根据您的场景对其进行调整而错误地复制粘贴。此外,您使用的是WebForms视图引擎,而不是Razor

因此,我建议您将此模板制作成一个ASPX WebForm,通过一个控制器操作提供服务,允许您在其中使用服务器端助手

public class TemplatesController: Controller
{
    public ActionResult Report()
    {
        return View();
    }
}
然后您将有一个相应的视图:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>https://stackoverflow.com/questions/6946559/jqgrid-please-help</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" charset="utf-8">
    $(document).ready(function () {
        $('#example').dataTable({
            bProcessing: true,
            sAjaxSource: '<%= Url.Action("GridData", "Home") %>'
        });
    });
    </script>
</head>
<div id="dynamic">
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
    <thead>
        <tr>
            <th width="20%">Rendering engine</th>
            <th width="25%">Browser</th>
            <th width="25%">Platform(s)</th>
            <th width="15%">Engine version</th>
            <th width="15%">CSS grade</th>
        </tr>
    </thead>
    <tbody>

    </tbody>
</table>
</div>
</html>

https://stackoverflow.com/questions/6946559/jqgrid-please-help
$(文档).ready(函数(){
$('#示例')。数据表({
b处理:对,
SAJAX源:“”
});
});
渲染引擎
浏览器
月台
引擎版本
CSS等级

然后在加载模板时指定此控制器的正确路径(再次使用服务器端帮助程序)。

rptabs
变量是什么,它与您的问题有何关系?rptabs是一个选项卡,我将在其中呈现数据。第一个控件将出现,然后它将加载HTML模板。从那里我不确定我是否理解datatable脚本触发器。你能展示一下使用它的代码吗?嗨,达林问题解决了。我刚刚修改了sAjaxSource的语法,比如“sAjaxSource”:“/Home/GridData”,它开始工作了。。非常感谢您的支持。哦,您使用的是WebForms视图引擎,而不是Razor?这个
rptTabs
变量是什么?它与您的问题有什么关系?rptTabs是一个选项卡,我将在其中呈现数据。第一个控件将出现,然后它将加载HTML模板。从那里我不确定我是否理解datatable脚本触发器。你能展示一下使用它的代码吗?嗨,达林问题解决了。我刚刚修改了sAjaxSource的语法,比如“sAjaxSource”:“/Home/GridData”,它开始工作了。。非常感谢您的支持。哦,您使用的是WebForms视图引擎,而不是Razor?