无法在MVC 4中加载jqgird [英] unable to load jqgird in MVC 4

查看:61
本文介绍了无法在MVC 4中加载jqgird的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是MVC 4的新手,我试图在我的剃刀视图(内容页面)中使用基于MVC 4的项目中的jqgird。当我在布局剃刀视图中使用jqgird时它工作正常但是当我在剃刀视图(内容页面)中使用jqgrid时我无法获得desiare输出。数据即将到来,但jqgrid的设计不可见。



 @ Scripts.Render(〜/ bundles / jquery) ; 

此代码造成问题。



查看代码....

 @ {
@using System.Web.Optimization;
@ Scripts.Render(〜/ bundles / jquery);
< script src =../ Scripts / i18n / grid.locale-en.jstype =text / javascript>< / script>
@ Scripts.Render(〜/ bundles / jqGrid);
< link href =../ Content / jquery.jqGrid / ui.jqgrid.css =stylesheettype =text / css/>
< link href =../ Content / themes / base / jquery-ui.css =stylesheettype =text / css/>
}


< script type =text / javascript>
var path =登录/索引;
jQuery(#jQGridDemo)。jqGrid({
url:path,
datatype:json,
colNames:['userID','FirstName'],
colModel:[
{name:'userID',index:'userID',width:20,stype:'text'},
{name:'username',index:'FirstName' ,宽度:150,stype:'text',sortable:true,editable:true}

],
rowNum:10,
mtype:'POST',
loadonce:true,
rowList:[10,20,30],
pager:'#jQGridDemoPager',
sortname:'_ id',
viewrecords:true,
sortorder:'desc',
标题:列出员工详细信息,
// editurl:'http:// localhost:58404 / JQGridHandler.ashx'
});

$('#jQGridDemo')。jqGrid('navGrid','#jQGridDemoPager',
{
编辑:true,
add:true,
del:true,
search:true,
searchtext:Search,
addtext:Add,
edittext:Edit,
deltext: 删除
},
{//编辑
//高度:300,
//宽度:400,
//顶部:50,
// left:100,
// dataheight:280,
closeOnEscape:true,//按下转义键关闭弹出窗口
reloadAfterSubmit:true,
drag:true,
afterSubmit:function(response,postdata){
if(response.responseText ==){

$(this).jqGrid('setGridParam' ,{datatype:'json'})。trigger('reloadGrid'); //编辑后重新加载网格
return [true,'']
}
else {
$(this).jqGrid('setGridParam',{datatype:'json' })触发( 'reloadGrid'); //编辑后重新加载网格
return [false,response.responseText] //在编辑窗口中捕获并显示响应文本
}
},
editData:{
EmpId:function(){
var sel_id = $('#jQGridDemo')。jqGrid('getGridParam','selrow');
var value = $('#jQGridDemo')。jqGrid('getCell',sel_id,'_ id');
返回值;
}
}
},
{
closeAfterAdd:true,//在添加
afterSubmit:function(response,postdata){之后关闭添加窗口
if(response.responseText ==){

$(this).jqGrid('setGridParam',{datatype:'json'})。trigger('reloadGrid')/ /在Add
return [true,'']
}之后重新加载网格
else {
$(this).jqGrid('setGridParam',{datatype:'json'} ).trigger('reloadGrid')//添加
后重新加载网格[false,response.responseText]
}
}
},
{//删除
closeOnEscape:true,
closeAfterDelete:true,
reloadAfterSubmit:true,
closeOnEscape:true,
drag:true,
afterSubmit:function(response,postdata){
if(response.responseText ==){

$(#jQGridDemo)。trigger(reloadGrid,[{current:true}]);
return [false,response.responseText]
}
else {
$(this).jqGrid('setGridParam',{datatype:'json'})。trigger(' reloadGrid')
return [true,response.responseText]
}
},
delData:{
EmpId:function(){
var sel_id = $('#jQGridDemo')。jqGrid('getGridParam','selrow');
var value = $('#jQGridDemo')。jqGrid('getCell',sel_id,'_ id');
返回值;
}
}
},
{// SEARCH
closeOnEscape:true

}
);

< / script>

< h2>指数< / h2>

< table id ='jQGridDemo'>
< / table>





app_start / bundleConfig.cs file

<$ p $使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.Optimization;

命名空间MVC_grid_application.App_Start
{
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new StyleBundle(〜/ Content / themes / base / css)。包括(

〜/ Content / themes / base / jquery-ui.css,
〜/ Content / themes / base / jquery.ui.all.css,
〜/ Content / themes / base / jquery.ui.autocomplete.css,
〜/ Content / themes /base/jquery.ui.button.css,
〜/ Content / themes / base / jquery.ui.base.css,
〜/ Content / themes / base / jquery.ui .datepicker.css,
〜/ Content / themes / base / jquery.ui.resizable.css,
〜/ Content / themes / base / jquery.ui.selectable.css,
〜/ Content / themes / base / Site.css,
〜/ Content / themes /base/jquery.ui.spinner.css,
〜/ Content / themes / base / jquery.ui.theme.css


);


bundles.GetBundleFor(〜/ Content / themes / base / css)。Orderer = new AppCssOrderer();


var bootstrapOrdering = new BundleFileSetOrdering(bootstrap);

bundles.Add(new ScriptBundle(〜/ Scripts / js)。包括(
〜/ Scripts / eXNav.js,
〜/ Scripts / jquery -1.8.1-vsdoc.js,
〜/ Scripts / jquery-1.8.1.js,
〜/ Scripts / jquery-ui-1.8.23.custom.min.js ,
〜/ Scripts / Labels.js,
〜/ Scripts / Dialog.js,
〜/ Scripts / SessionTimeOut.js,
〜 /Scripts/jquery.qtip.js,
〜/ Scripts / json2.js,
〜/ Scripts / jquery.watermark.min.js,
〜/ Scripts /grid.locale-en.js,
〜/ Scripts / jquery.jqGrid.src.js,
〜/ Scripts / jquery.jqGrid.fluid.js,
〜/ Scripts / jquery.validate.min.js,
〜/ Scripts / jquery.validate.unobtrusive.min.js,
〜/ Scripts / Computing.js,
〜/ Scripts / Controllers / ProjectController.js,
〜/ Scripts / Controllers / RequestController.js,
〜/ Scripts / Controllers / SystemController.js,
〜/ Scripts / Views / ProjectView.js,
〜/ Scripts / Views / RequestView.js,
〜 /Scripts/Views/SystemView.js


);

bundles.GetBundleFor(〜/ Scripts / js)。Orderer = new AppJsOrderer();

BundleTable.EnableOptimizations = true;

}

公共类AppCssOrderer:IBundleOrderer
{
public IEnumerable< System.IO.FileInfo> OrderFiles(BundleContext context,
IEnumerable< System.IO.FileInfo> files)
{
// return files.OrderBy(f => f.Name ==eyNav.css? -1:1);
if(context == null)
抛出新的ArgumentNullException(context);

if(files == null)
抛出新的ArgumentNullException(files);

返回文件;
}

public IEnumerable< BundleFile> OrderFiles(BundleContext context,IEnumerable< BundleFile> files)
{
throw new NotImplementedException();
}
}

公共类AppJsOrderer:IBundleOrderer
{
public IEnumerable< System.IO.FileInfo> OrderFiles(BundleContext context,
IEnumerable< System.IO.FileInfo> files)
{
// return files.OrderBy(f => f.Name ==eyNav.css? -1:1);
if(context == null)
抛出新的ArgumentNullException(context);

if(files == null)
抛出新的ArgumentNullException(files);

返回文件;
}

public IEnumerable< BundleFile> OrderFiles(BundleContext context,IEnumerable< BundleFile> files)
{
throw new NotImplementedException();
}
}
}
}

解决方案

('#jQGridDemo') .jqGrid('navGrid','#jQGridDemoPager',
{
edit:true,
add:true,
del:true,
search:true,
searchtext:搜索,
addtext:添加,
edittext:编辑,
deltext:删除
},
{/ /编辑
//身高:300,
//宽度:400,
//上:50,
//左:100,
// dataheight: 280,
closeOnEscape:true,//关闭p opup on press escape key
reloadAfterSubmit:true,
drag:true,
afterSubmit:function(response,postdata){
if(response.responseText ==){


(this).jqGrid('setGridParam',{datatype:'json'})。trigger('reloadGrid'); //编辑后重新加载网格
return [true,'']
}
else {


(this).jqGrid('setGridParam', {datatype:'json'})。trigger('reloadGrid'); //编辑后重新加载网格
return [false,response.responseText] //在编辑窗口中捕获并显示响应文本
}
},
editData:{
EmpId:function(){
var sel_id =


I m a fresher in MVC 4 and I m trying to use jqgird in my razor view(content page) in MVC 4 based project. WHen i m using the jqgird in layout razor view it works properly but i m unable to get the desiare output when i m using jqgrid in razor view(content page). The data is coming in view but the design of jqgrid is not visible.

@Scripts.Render("~/bundles/jquery");  

this code is creating problem.

view code....

@{
    @using System.Web.Optimization; 
    @Scripts.Render("~/bundles/jquery");   
    <script src="../Scripts/i18n/grid.locale-en.js" type="text/javascript"></script>
    @Scripts.Render("~/bundles/jqGrid");   
    <link href="../Content/jquery.jqGrid/ui.jqgrid.css" rel="stylesheet" type="text/css" />
    <link href="../Content/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />    
}


<script type="text/javascript">
    var path = "Login/Index";
    jQuery("#jQGridDemo").jqGrid({
        url: path,
        datatype: "json",
        colNames: ['userID', 'FirstName'],
        colModel: [
                        { name: 'userID', index: 'userID', width: 20, stype: 'text' },
   		                { name: 'username', index: 'FirstName', width: 150, stype: 'text', sortable: true, editable: true }

   	                  ],
        rowNum: 10,
        mtype: 'POST',
        loadonce: true,
        rowList: [10, 20, 30],
        pager: '#jQGridDemoPager',
        sortname: '_id',
        viewrecords: true,
        sortorder: 'desc',
        caption: "List Employee Details",
        //editurl: 'http://localhost:58404/JQGridHandler.ashx'
    });

    $('#jQGridDemo').jqGrid('navGrid', '#jQGridDemoPager',
                   {
                       edit: true,
                       add: true,
                       del: true,
                       search: true,
                       searchtext: "Search",
                       addtext: "Add",
                       edittext: "Edit",
                       deltext: "Delete"
                   },
                   {   //EDIT
                       //                       height: 300,
                       //                       width: 400,
                       //                       top: 50,
                       //                       left: 100,
                       //                       dataheight: 280,
                       closeOnEscape: true, //Closes the popup on pressing escape key
                       reloadAfterSubmit: true,
                       drag: true,
                       afterSubmit: function (response, postdata) {
                           if (response.responseText == "") {

                               $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid'); //Reloads the grid after edit
                               return [true, '']
                           }
                           else {
                               $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid'); //Reloads the grid after edit
                               return [false, response.responseText]//Captures and displays the response text on th Edit window
                           }
                       },
                       editData: {
                           EmpId: function () {
                               var sel_id = $('#jQGridDemo').jqGrid('getGridParam', 'selrow');
                               var value = $('#jQGridDemo').jqGrid('getCell', sel_id, '_id');
                               return value;
                           }
                       }
                   },
                   {
                       closeAfterAdd: true, //Closes the add window after add
                       afterSubmit: function (response, postdata) {
                           if (response.responseText == "") {

                               $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid')//Reloads the grid after Add
                               return [true, '']
                           }
                           else {
                               $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid')//Reloads the grid after Add
                               return [false, response.responseText]
                           }
                       }
                   },
                   {   //DELETE
                       closeOnEscape: true,
                       closeAfterDelete: true,
                       reloadAfterSubmit: true,
                       closeOnEscape: true,
                       drag: true,
                       afterSubmit: function (response, postdata) {
                           if (response.responseText == "") {

                               $("#jQGridDemo").trigger("reloadGrid", [{ current: true}]);
                               return [false, response.responseText]
                           }
                           else {
                               $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid')
                               return [true, response.responseText]
                           }
                       },
                       delData: {
                           EmpId: function () {
                               var sel_id = $('#jQGridDemo').jqGrid('getGridParam', 'selrow');
                               var value = $('#jQGridDemo').jqGrid('getCell', sel_id, '_id');
                               return value;
                           }
                       }
                   },
                   {//SEARCH
                       closeOnEscape: true

                   }
            );
              
</script>

<h2>Index</h2>

<table id='jQGridDemo' >
</table>



app_start/bundleConfig.cs file

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Optimization;

namespace MVC_grid_application.App_Start
{
    public class BundleConfig
    {
        public static void RegisterBundles(BundleCollection bundles)
        {
             bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(

                          "~/Content/themes/base/jquery-ui.css",
                        "~/Content/themes/base/jquery.ui.all.css",
                        "~/Content/themes/base/jquery.ui.autocomplete.css",
                        "~/Content/themes/base/jquery.ui.button.css",
                        "~/Content/themes/base/jquery.ui.base.css",
                        "~/Content/themes/base/jquery.ui.datepicker.css",
                        "~/Content/themes/base/jquery.ui.resizable.css",
                        "~/Content/themes/base/jquery.ui.selectable.css",
                        "~/Content/themes/base/Site.css",
                        "~/Content/themes/base/jquery.ui.spinner.css",
                        "~/Content/themes/base/jquery.ui.theme.css"

                       )
                 ); 


         bundles.GetBundleFor("~/Content/themes/base/css").Orderer = new AppCssOrderer();


         var bootstrapOrdering = new BundleFileSetOrdering("bootstrap");

         bundles.Add(new ScriptBundle("~/Scripts/js").Include(
             "~/Scripts/eXNav.js",
             "~/Scripts/jquery-1.8.1-vsdoc.js",
             "~/Scripts/jquery-1.8.1.js",
             "~/Scripts/jquery-ui-1.8.23.custom.min.js",
             "~/Scripts/Labels.js",
             "~/Scripts/Dialog.js",
             "~/Scripts/SessionTimeOut.js",
             "~/Scripts/jquery.qtip.js",
             "~/Scripts/json2.js",
             "~/Scripts/jquery.watermark.min.js",
             "~/Scripts/grid.locale-en.js",
             "~/Scripts/jquery.jqGrid.src.js",
             "~/Scripts/jquery.jqGrid.fluid.js",
             "~/Scripts/jquery.validate.min.js",
             "~/Scripts/jquery.validate.unobtrusive.min.js",
             "~/Scripts/Computing.js",
             "~/Scripts/Controllers/ProjectController.js",
             "~/Scripts/Controllers/RequestController.js",
             "~/Scripts/Controllers/SystemController.js",
             "~/Scripts/Views/ProjectView.js",
             "~/Scripts/Views/RequestView.js",
             "~/Scripts/Views/SystemView.js"

              )
        );

         bundles.GetBundleFor("~/Scripts/js").Orderer = new AppJsOrderer();

         BundleTable.EnableOptimizations = true; 

      }

        public class AppCssOrderer : IBundleOrderer
        {
            public IEnumerable<System.IO.FileInfo> OrderFiles(BundleContext context,
            IEnumerable<System.IO.FileInfo> files)
            {
                // return files.OrderBy(f => f.Name == "eyNav.css" ? -1 : 1); 
                if (context == null)
                    throw new ArgumentNullException("context");

                if (files == null)
                    throw new ArgumentNullException("files");

                return files;
            }

            public IEnumerable<BundleFile> OrderFiles(BundleContext context, IEnumerable<BundleFile> files)
            {
                throw new NotImplementedException();
            }
        }

        public class AppJsOrderer : IBundleOrderer
        {
            public IEnumerable<System.IO.FileInfo> OrderFiles(BundleContext context,
            IEnumerable<System.IO.FileInfo> files)
            {
                // return files.OrderBy(f => f.Name == "eyNav.css" ? -1 : 1); 
                if (context == null)
                    throw new ArgumentNullException("context");

                if (files == null)
                    throw new ArgumentNullException("files");

                return files;
            }

            public IEnumerable<BundleFile> OrderFiles(BundleContext context, IEnumerable<BundleFile> files)
            {
                throw new NotImplementedException();
            }
        }
    }
}

解决方案

('#jQGridDemo').jqGrid('navGrid', '#jQGridDemoPager', { edit: true, add: true, del: true, search: true, searchtext: "Search", addtext: "Add", edittext: "Edit", deltext: "Delete" }, { //EDIT // height: 300, // width: 400, // top: 50, // left: 100, // dataheight: 280, closeOnEscape: true, //Closes the popup on pressing escape key reloadAfterSubmit: true, drag: true, afterSubmit: function (response, postdata) { if (response.responseText == "") {


(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid'); //Reloads the grid after edit return [true, ''] } else {


(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid'); //Reloads the grid after edit return [false, response.responseText]//Captures and displays the response text on th Edit window } }, editData: { EmpId: function () { var sel_id =


这篇关于无法在MVC 4中加载jqgird的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆