在选择行上不会激活jqgrid中的事件

时间:2012-01-26 19:14:13

标签: c# asp.net-mvc-3 jqgrid

我有一个jqGrid,点击一行应该在jqGrid下面呈现局部视图,但它不会发生。我正在做一些如下所示的事情:

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.jqGrid.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.cookie.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/json2.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/CookieManagement.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jQGridState.js")"></script>
<link href="@Url.Content("~/Content/jquery.jqGrid/ui.jqgrid.css")" rel="stylesheet" type="text/css" />

<script type="text/javascript">
    $(document).ready(function() {
        $(function() {
            $('#Listing').jqGrid({
                url: '@Url.Action("Grid", "Name")',
                datatype: "json",
                edit: false,
                add: false,
                del: false,
                height: 330,
                mtype: 'GET',
                colNames: ['ID','Name'],
                jsonReader: {
                    root: "Clients",
                    page: "CurrentPage",
                    total: "TotalPages",
                    records: "TotalRecords",
                    repeatitems: false,
                    cell: "",
                    id: "0"
                },
                colModel: [
                    { name: 'Id', index: 'Id', width: 65, align: 'center', sorttype: "int" },
                    { name: '@NameMap.STATUS_COLUMN', index: '@NameMap.STATUS_COLUMN', width: 140, align: 'left', sortable: true }],
                pager: '#pager',
                rowNum: 10,
                rowList: [10, 15, 20],
                sortname: 'Id',
                sortorder: 'asc',
                viewrecords: true,
                gridview: true,                    
                onSelectRow: function (id) {
                        $.ajax({
                                url: '@Url.Action("Details","Name")',
                                data: { 'Id': id },
                                success: function (detailsHtml) {
                                         $('#NameDetails').html(detailsHtml);
                                         },
                                dataType: 'html'
                                });
                        },
                loadComplete: function () {
                              $('#NameDetails').html("");
                             }  
            });
        });
    });
</script>

此处详细信息和网格是名称控制器中的控制器操作。连接到onSelectRow的详细信息返回一个视图,$('#NameDetails')是此页面中最后一个div的id。

我的问题是我无法看到细节视图出现,即使其中的值正确填充,我的OnSelectRow有什么问题或者我是否需要包含任何其他javascript文件?

1 个答案:

答案 0 :(得分:0)

这是愚蠢的,但实际上我在一个名为“NameDetails”的id中拼写错误为“NameDetalis”,这就是我的视图没有被渲染的原因。