Asp.net mvc 2 在JQGrid和ASP.NET MVC 2上编辑表单

Asp.net mvc 2 在JQGrid和ASP.NET MVC 2上编辑表单,asp.net-mvc-2,jqgrid,Asp.net Mvc 2,Jqgrid,当我选择一行并按下编辑按钮时,JQgrid出现问题。问题是我想要一个模式编辑表单,它显示在页面的顶部,但当我点击它时,它关闭了。 我查看JQgrid文档并搜索示例,但无法使其正常工作。我正在使用ASP.NET MVC 2和JQgrid 1.4.1,并附上了文件JqDnr和Jqmodal <script type="text/javascript"> var lastsel; jQuery(document).ready(function() { jQ

当我选择一行并按下编辑按钮时,JQgrid出现问题。问题是我想要一个模式编辑表单,它显示在页面的顶部,但当我点击它时,它关闭了。 我查看JQgrid文档并搜索示例,但无法使其正常工作。我正在使用ASP.NET MVC 2和JQgrid 1.4.1,并附上了文件JqDnr和Jqmodal

<script type="text/javascript">
    var lastsel;

    jQuery(document).ready(function() {
        jQuery("#list").jqGrid({
            url: '/Home/DynamicGridData/',
            datatype: 'json',
            mtype: 'GET',
            colNames: ['Id', 'Nombre', 'Sponsor', 'Fecha de Evaluacion', 'Fecha Prevista de Fin', 'Planta', 'Sector', 'LOTO?', 'Trabajo en Altura?', 'Espacio Confinado?', 'Caliente?', 'Amianto?', 'Observaciones'],
            colModel: [
      { name: 'Id', index: 'Id', width: 40, align: 'left', editable: false },
      { name: 'Nombre', index: 'Nombre', width: 200, align: 'left', editable: true },
      { name: 'Sponsor', index: 'Sponsor', width: 80, align: 'left', editable: true, edittype: "select", editoptions: { size: 71} },
      { name: 'Fecha de Evaluacion', index: 'FechaEvaluacion', width: 90, align: 'left', editable: true },
      { name: 'Fecha Prevista de Fin', index: 'FechaPrevistaFin', width: 90, align: 'left', editable: true },
      { name: 'Planta', index: 'Planta', width: 70, align: 'left', editable: true },
      { name: 'Sector', index: 'Sector', width: 70, align: 'left', editable: true },
      { name: 'LOTO?', index: 'PermisoLOTO', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Trabajo en Altura?', index: 'PermisoTrabajoAltura', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Espacio Confinado?', index: 'PermisoEspacioConfinado', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Caliente?', index: 'PermisoCaliente', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Amianto?', index: 'PermisoAmianto', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Observaciones', index: 'Observaciones', width: 200, align: 'left', editable: true}],
            pager: jQuery('#pager'),
            rowNum: 10,
            rowList: [5, 10, 20, 50],
            sortname: 'Id',
            sortorder: "desc",
            viewrecords: true,
            imgpath: '/scripts/themes/sand/images',
            caption: 'Tareas'
        }).navGrid("#pager", { edit: true });

    }); 
</script>  

<script type="text/javascript">
    var lastsel;

    jQuery(document).ready(function() {
        jQuery("#list").jqGrid({
            url: '/Home/DynamicGridData/',
            datatype: 'json',
            mtype: 'GET',
            colNames: ['Id', 'Nombre', 'Sponsor', 'Fecha de Evaluacion', 'Fecha Prevista de Fin', 'Planta', 'Sector', 'LOTO?', 'Trabajo en Altura?', 'Espacio Confinado?', 'Caliente?', 'Amianto?', 'Observaciones'],
            colModel: [
      { name: 'Id', index: 'Id', width: 40, align: 'left', editable: false },
      { name: 'Nombre', index: 'Nombre', width: 200, align: 'left', editable: true },
      { name: 'Sponsor', index: 'Sponsor', width: 80, align: 'left', editable: true, edittype: "select", editoptions: { size: 71} },
      { name: 'Fecha de Evaluacion', index: 'FechaEvaluacion', width: 90, align: 'left', editable: true },
      { name: 'Fecha Prevista de Fin', index: 'FechaPrevistaFin', width: 90, align: 'left', editable: true },
      { name: 'Planta', index: 'Planta', width: 70, align: 'left', editable: true },
      { name: 'Sector', index: 'Sector', width: 70, align: 'left', editable: true },
      { name: 'LOTO?', index: 'PermisoLOTO', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Trabajo en Altura?', index: 'PermisoTrabajoAltura', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Espacio Confinado?', index: 'PermisoEspacioConfinado', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Caliente?', index: 'PermisoCaliente', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Amianto?', index: 'PermisoAmianto', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Observaciones', index: 'Observaciones', width: 200, align: 'left', editable: true}],
            pager: jQuery('#pager'),
            rowNum: 10,
            rowList: [5, 10, 20, 50],
            sortname: 'Id',
            sortorder: "desc",
            viewrecords: true,
            imgpath: '/scripts/themes/sand/images',
            caption: 'Tareas'
        }).navGrid("#pager", { edit: true });

    }); 
</script>  
塔雷斯

<script type="text/javascript">
    var lastsel;

    jQuery(document).ready(function() {
        jQuery("#list").jqGrid({
            url: '/Home/DynamicGridData/',
            datatype: 'json',
            mtype: 'GET',
            colNames: ['Id', 'Nombre', 'Sponsor', 'Fecha de Evaluacion', 'Fecha Prevista de Fin', 'Planta', 'Sector', 'LOTO?', 'Trabajo en Altura?', 'Espacio Confinado?', 'Caliente?', 'Amianto?', 'Observaciones'],
            colModel: [
      { name: 'Id', index: 'Id', width: 40, align: 'left', editable: false },
      { name: 'Nombre', index: 'Nombre', width: 200, align: 'left', editable: true },
      { name: 'Sponsor', index: 'Sponsor', width: 80, align: 'left', editable: true, edittype: "select", editoptions: { size: 71} },
      { name: 'Fecha de Evaluacion', index: 'FechaEvaluacion', width: 90, align: 'left', editable: true },
      { name: 'Fecha Prevista de Fin', index: 'FechaPrevistaFin', width: 90, align: 'left', editable: true },
      { name: 'Planta', index: 'Planta', width: 70, align: 'left', editable: true },
      { name: 'Sector', index: 'Sector', width: 70, align: 'left', editable: true },
      { name: 'LOTO?', index: 'PermisoLOTO', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Trabajo en Altura?', index: 'PermisoTrabajoAltura', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Espacio Confinado?', index: 'PermisoEspacioConfinado', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Caliente?', index: 'PermisoCaliente', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Amianto?', index: 'PermisoAmianto', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Observaciones', index: 'Observaciones', width: 200, align: 'left', editable: true}],
            pager: jQuery('#pager'),
            rowNum: 10,
            rowList: [5, 10, 20, 50],
            sortname: 'Id',
            sortorder: "desc",
            viewrecords: true,
            imgpath: '/scripts/themes/sand/images',
            caption: 'Tareas'
        }).navGrid("#pager", { edit: true });

    }); 
</script>  

所以,任何帮助都是非常有用的。谢谢

我无法重现您的问题,请参见测试,但我可以肯定地说,您必须更改colModel中name属性的值。name属性将用作属性名称。它在编辑表单中另外构建不同元素的ID。身份证号码是多少

<script type="text/javascript">
    var lastsel;

    jQuery(document).ready(function() {
        jQuery("#list").jqGrid({
            url: '/Home/DynamicGridData/',
            datatype: 'json',
            mtype: 'GET',
            colNames: ['Id', 'Nombre', 'Sponsor', 'Fecha de Evaluacion', 'Fecha Prevista de Fin', 'Planta', 'Sector', 'LOTO?', 'Trabajo en Altura?', 'Espacio Confinado?', 'Caliente?', 'Amianto?', 'Observaciones'],
            colModel: [
      { name: 'Id', index: 'Id', width: 40, align: 'left', editable: false },
      { name: 'Nombre', index: 'Nombre', width: 200, align: 'left', editable: true },
      { name: 'Sponsor', index: 'Sponsor', width: 80, align: 'left', editable: true, edittype: "select", editoptions: { size: 71} },
      { name: 'Fecha de Evaluacion', index: 'FechaEvaluacion', width: 90, align: 'left', editable: true },
      { name: 'Fecha Prevista de Fin', index: 'FechaPrevistaFin', width: 90, align: 'left', editable: true },
      { name: 'Planta', index: 'Planta', width: 70, align: 'left', editable: true },
      { name: 'Sector', index: 'Sector', width: 70, align: 'left', editable: true },
      { name: 'LOTO?', index: 'PermisoLOTO', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Trabajo en Altura?', index: 'PermisoTrabajoAltura', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Espacio Confinado?', index: 'PermisoEspacioConfinado', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Caliente?', index: 'PermisoCaliente', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Amianto?', index: 'PermisoAmianto', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Observaciones', index: 'Observaciones', width: 200, align: 'left', editable: true}],
            pager: jQuery('#pager'),
            rowNum: 10,
            rowList: [5, 10, 20, 50],
            sortname: 'Id',
            sortorder: "desc",
            viewrecords: true,
            imgpath: '/scripts/themes/sand/images',
            caption: 'Tareas'
        }).navGrid("#pager", { edit: true });

    }); 
</script>  
id="Fecha Prevista de Fin"
id="tr_Fecha Prevista de Fin"
id="Amianto?"
id="tr_Amianto?"
等等都不好。您可以使用IE的开发工具,例如,在IE中按F12检查当前代码的编辑形式中使用的ID。我严格建议您在name属性中仅使用集合[a-zA-Z0-9]中的字符,并以字母开头。名称内不允许空白,请参见和

<script type="text/javascript">
    var lastsel;

    jQuery(document).ready(function() {
        jQuery("#list").jqGrid({
            url: '/Home/DynamicGridData/',
            datatype: 'json',
            mtype: 'GET',
            colNames: ['Id', 'Nombre', 'Sponsor', 'Fecha de Evaluacion', 'Fecha Prevista de Fin', 'Planta', 'Sector', 'LOTO?', 'Trabajo en Altura?', 'Espacio Confinado?', 'Caliente?', 'Amianto?', 'Observaciones'],
            colModel: [
      { name: 'Id', index: 'Id', width: 40, align: 'left', editable: false },
      { name: 'Nombre', index: 'Nombre', width: 200, align: 'left', editable: true },
      { name: 'Sponsor', index: 'Sponsor', width: 80, align: 'left', editable: true, edittype: "select", editoptions: { size: 71} },
      { name: 'Fecha de Evaluacion', index: 'FechaEvaluacion', width: 90, align: 'left', editable: true },
      { name: 'Fecha Prevista de Fin', index: 'FechaPrevistaFin', width: 90, align: 'left', editable: true },
      { name: 'Planta', index: 'Planta', width: 70, align: 'left', editable: true },
      { name: 'Sector', index: 'Sector', width: 70, align: 'left', editable: true },
      { name: 'LOTO?', index: 'PermisoLOTO', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Trabajo en Altura?', index: 'PermisoTrabajoAltura', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Espacio Confinado?', index: 'PermisoEspacioConfinado', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Caliente?', index: 'PermisoCaliente', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Amianto?', index: 'PermisoAmianto', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Observaciones', index: 'Observaciones', width: 200, align: 'left', editable: true}],
            pager: jQuery('#pager'),
            rowNum: 10,
            rowList: [5, 10, 20, 50],
            sortname: 'Id',
            sortorder: "desc",
            viewrecords: true,
            imgpath: '/scripts/themes/sand/images',
            caption: 'Tareas'
        }).navGrid("#pager", { edit: true });

    }); 
</script>  

顺便说一句,参数imgpath是因为jqGrid发布了很多版本,您应该删除它。

Hi,谢谢,但我仍然有这个问题,我在下面添加了更多信息。@Hernan:您的意思是在上面而不是下面,还是有一条评论没有保存?你还有什么问题?同样的问题,对话框在第一次点击后就会消失?我的代码和youth的区别在哪里?抱歉,问题是:未捕获的异常:jqGrid-没有这样的方法:当我选择一行时恢复row。这就是Firebug所展示的。我知道问题出在Js文件上,我下载了所有的东西,我得到了这个错误。包裹有什么特别的顺序吗?@Hernan:当然很重要。看看我的例子,做同样的事情,或者发布包含所有JS的完整HTML代码。
<script type="text/javascript">
    var lastsel;

    jQuery(document).ready(function() {
        jQuery("#list").jqGrid({
            url: '/Home/DynamicGridData/',
            datatype: 'json',
            mtype: 'GET',
            colNames: ['Id', 'Nombre', 'Sponsor', 'Fecha de Evaluacion', 'Fecha Prevista de Fin', 'Planta', 'Sector', 'LOTO?', 'Trabajo en Altura?', 'Espacio Confinado?', 'Caliente?', 'Amianto?', 'Observaciones'],
            colModel: [
      { name: 'Id', index: 'Id', width: 40, align: 'left', editable: false },
      { name: 'Nombre', index: 'Nombre', width: 200, align: 'left', editable: true },
      { name: 'Sponsor', index: 'Sponsor', width: 80, align: 'left', editable: true, edittype: "select", editoptions: { size: 71} },
      { name: 'Fecha de Evaluacion', index: 'FechaEvaluacion', width: 90, align: 'left', editable: true },
      { name: 'Fecha Prevista de Fin', index: 'FechaPrevistaFin', width: 90, align: 'left', editable: true },
      { name: 'Planta', index: 'Planta', width: 70, align: 'left', editable: true },
      { name: 'Sector', index: 'Sector', width: 70, align: 'left', editable: true },
      { name: 'LOTO?', index: 'PermisoLOTO', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Trabajo en Altura?', index: 'PermisoTrabajoAltura', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Espacio Confinado?', index: 'PermisoEspacioConfinado', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Caliente?', index: 'PermisoCaliente', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Amianto?', index: 'PermisoAmianto', width: 50, align: 'left', editable: true, formatter: "checkbox" },
      { name: 'Observaciones', index: 'Observaciones', width: 200, align: 'left', editable: true}],
            pager: jQuery('#pager'),
            rowNum: 10,
            rowList: [5, 10, 20, 50],
            sortname: 'Id',
            sortorder: "desc",
            viewrecords: true,
            imgpath: '/scripts/themes/sand/images',
            caption: 'Tareas'
        }).navGrid("#pager", { edit: true });

    }); 
</script>