2012-05-31 81 views
-1

在ASP-MVC,我有一個包含這部分觀點:創建JavaScript文件

<table id="grid"> 
</table> 
<div id="pager1"> 
</div> 

<script language="javascript" type="text/javascript"> 
$('#grid').jqGrid({ 
    url: '/Employee/JsonEmployee', 
    datatype: 'json', 
    mtype: 'GET', 
    colNames: ['NUMBER', 'NAME', 'ROLE', 'OPERATIONS'], 
    colModel: [ 
{ name: 'NUMBER', index: 'number', width: 200, sortable: false, align: 'center' }, 
{ name: 'NAME', index: 'name', width: 300, sortable: false, align: 'center' }, 
{ name: 'ROLE', index: 'role', width: 200, sortable: false, search: false, align: 'center' }, 
{ name: 'OPERATIONS', index: 'operation', width: 200, sortable: false, search: false, align: 'center'}], 
    rowNum: 10, 
    rowList: [10, 20, 30], 
    pager: '#pager1', 
    sortname: 'number', 
    viewrecords: true, 
    sortorder: "desc", 
    height: "100%", 
    caption: "EMPLOYEES" 
}); 
jQuery("#grid").jqGrid('navGrid', '#pager1', { del: false, add: false, edit: false }, {}, {}, {}, { width: 600 }); 

</script> 

它工作正常,但隨後,我決定在我看來,底部的刪除腳本,並把它在腳本一個JavaScript(.js文件)的文件夾:Local.js

function() { 
$('#grid').jqGrid({ 
    url: '/Employee/JsonEmployee', 
    datatype: 'json', 
    mtype: 'GET', 
    colNames: ['NUMBER', 'NAME', 'ROLE', 'OPERATIONS'], 
    colModel: [ 
{ name: 'NUMBER', index: 'number', width: 200, sortable: false, align: 'center' }, 
{ name: 'NAME', index: 'name', width: 300, sortable: false, align: 'center' }, 
{ name: 'ROLE', index: 'role', width: 200, sortable: false, search: false, align: 'center' }, 
{ name: 'OPERATIONS', index: 'operation', width: 200, sortable: false, search: false, align: 'center'}], 
    rowNum: 10, 
    rowList: [10, 20, 30], 
    pager: '#pager1', 
    sortname: 'number', 
    viewrecords: true, 
    sortorder: "desc", 
    height: "100%", 
    caption: "EMPLOYEES" 
}); 
jQuery("#grid").jqGrid('navGrid', '#pager1', { del: false, add: false, edit: false }, {}, {}, {}, { width: 600 }); 

    }; 

我叫我的_Layout.cshtml腳本文件:

<head> 
    <meta charset="utf-8" /> 
    <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /> 
    <link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" /> 
    <link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/themes/base/css")" rel="stylesheet" type="text/css" /> 
    <script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Scripts/js")"></script> 

    <script src="@Url.Content("~/Scripts/i18n/grid.locale-en.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.jqGrid.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/Local.js")" type="text/javascript"></script> 
    <meta name="viewport" content="width=device-width" /> 
</head> 

當我運行我的網絡應用程序,它不再工作了... jqGrid不再顯示...哪裏可能是問題?

+0

嘗試在頁面中移動它較高。這可能是因爲你太晚將文件包含在HTML中。 –

+1

你打算怎麼稱呼那個匿名功能? – Musa

+0

已經嘗試過,但它沒有工作......是我創建的JavaScript文件正確嗎? –

回答

0

你在Local.js代碼永遠不會執行,你可以把它當DOM準備與$(document).ready()

$(document).ready(function() { 
    $('#grid').jqGrid({ 
     url: '/Employee/JsonEmployee', 
     datatype: 'json', 
     mtype: 'GET', 
     colNames: ['NUMBER', 'NAME', 'ROLE', 'OPERATIONS'], 
     colModel: [ 
    { name: 'NUMBER', index: 'number', width: 200, sortable: false, align: 'center' }, 
    { name: 'NAME', index: 'name', width: 300, sortable: false, align: 'center' }, 
    { name: 'ROLE', index: 'role', width: 200, sortable: false, search: false, align: 'center' }, 
    { name: 'OPERATIONS', index: 'operation', width: 200, sortable: false, search: false, align: 'center'}], 
     rowNum: 10, 
     rowList: [10, 20, 30], 
     pager: '#pager1', 
     sortname: 'number', 
     viewrecords: true, 
     sortorder: "desc", 
     height: "100%", 
     caption: "EMPLOYEES" 
    }); 
    jQuery("#grid").jqGrid('navGrid', '#pager1', { del: false, add: false, edit: false }, {}, {}, {}, { width: 600 }); 
}); 
+0

仍然無法正常工作,是我打電話給我的JavaScript文件的方式是否正確? –

+0

你有任何錯誤嗎? – Musa

0

在Local.js文件中的函數沒有名字......你沒有調用該函數,因此Local.js中的所有內容都不起作用!您可以使用:

window.onload = function() { 
    //your code here 
} 

但不推薦使用。你應該給你的功能命名,並稱他們

+0

如果我刪除該功能,爲什麼它不工作?它應該看到它匹配#grid的id並開始執行腳本,對吧? –

+0

要將javascript分隔到另一個文件中,您必須創建函數並調用它們。您無法直接編寫代碼,就像您在

  • 11. 使用javascript創建csv文件
  • 12. 會動態創建JavaScript文件嗎?
  • 13. Grunt usemin:級聯JavaScript文件未創建
  • 14. 通過JavaScript文件創建多個表
  • 15. 在Ajax中創建文件javascript
  • 16. 如何使用javascript創建.txt文件?
  • 17. 使用javascript或jquery創建.ics文件
  • 18. 使用javascript從查詢創建文件
  • 19. Eclipse:創建新的JavaScript文件錯誤
  • 20. JavaScript:創建並保存文件
  • 21. 如何創建Javascript可執行文件?
  • 22. 創建文件
  • 23. 創建文件
  • 24. 從xmldocument創建javascript文檔
  • 25. 創建文本內容(JavaScript)
  • 26. 創建Windows批處理文件以創建文件夾/文件
  • 27. JavaScript的插件創建
  • 28. javascript創建類事件
  • 29. Javascript創建事件方法
  • 30. Javascript插件創建方法