2017-04-20 52 views
1

我將js函數插入到html中,現在我從HTML中取出JS代碼來分離js文件,從而導致JS函數undefined錯誤?爲什麼?以及如何解決它?從HTML中取出JS代碼以分離js文件,導致錯誤

@(Html.Kendo().Grid<Model>() 
     .Name("grid") 
     .Columns(columns => 
     { 

      columns.Bound(p => p.Name); 

     }) 

     .Events(ev => 
     { 
      ev.DataBound("initMenus"); 

     }) 

    ) 
<script> 
function initMenus(e) { 
    $(".templateCell").each(function() { 
     eval($(this).children("script").last().html()); 
    }); 
} 
</script> 

現在我的js功能分開,test.js:

<script src="~/js/test.js"></script> 

@(Html.Kendo().Grid<Model>() 
      .Name("grid") 
      .Columns(columns => 
      { 

       columns.Bound(p => p.Name); 

      }) 

      .Events(ev => 
      { 
       ev.DataBound("initMenus"); 

      }) 

     ) 

我test.js

function initMenus(e) { 
     $(".templateCell").each(function() { 
      eval($(this).children("script").last().html()); 
     }); 
    } 

我肯定路徑test.js是正確的。

這裏是錯誤: enter image description here

回答

0

瀏覽器兌現

這是可能的瀏覽器兌付test.js文件,嘗試加入一些版本控制的.js文件。

基本示例

<script src="~/js/test.js?v=1"></script> 

每次做出改變的js文件

按F5通常不會強制瀏覽器獲取一個新的js文件

0
時間,然後增加此值

嘗試移動下面的js,如下所示:

如果它在代碼的這個順序之前工作,您應該這樣做,即使它在另一個js fi le

@(Html.Kendo().Grid<Model>() 
      .Name("grid") 
      .Columns(columns => 
      { 

       columns.Bound(p => p.Name); 

      }) 

      .Events(ev => 
      { 
       ev.DataBound("initMenus"); 

      }) 

     ) 


<script src="~/js/test.js"></script> 
+0

我照你說的去做了。仍然不起作用。我在asp.net核心mvc下使用它們 – AngularFan