2016-09-21 96 views
0

我需要在標籤點擊事件中重新加載GridView。我寫了下面的代碼:將新內容添加到html後,應用程序崩潰

<script> 
    function OnTabClickEvent(s, e) { 
     var tableUrl; 

     switch (e.tab.Index) { 
      case 0: 
       tableUrl = '@Url.Action("CGridViewPartial", "Competences")'; 
       break; 
      default: 
       tableUrl = '@Url.Action("TGridViewPartial", "Technologies")'; 
     } 

     $('#TabContent').empty(); 
     $('#TabContent').load(tableUrl); 
    } 
</script> 

<div> 
    @Html.DevExpress().TabControl(settings => 
    { 
     settings.Name = "CatalogTabControl"; 
     settings.Width = Unit.Percentage(100); 

     settings.Tabs.Add(tab => 
     { 
      tab.Name = "TabCompetences"; 
      tab.Text = Headers.Competences; 
     }); 
     settings.Tabs.Add(tab => 
     { 
      tab.Name = "TabProjects"; 
      tab.Text = Headers.ProjectsActivities; 
     }); 
     settings.Tabs.Add(tab => 
     { 
      tab.Name = "TabTechnologies"; 
      tab.Text = Headers.Technologies; 
     }); 

     //Events 
     settings.ClientSideEvents.TabClick = "OnTabClickEvent"; 
    }).GetHtml() 
</div> 
<div id="TabContent"> 
    @Html.Action("CGridViewPartial", "Competences") 
</div> 

它的工作原理,但只有一次......第二次點擊它崩潰與錯誤:

Uncaught TypeError: Cannot read property 'FindEventSourceParentByTestFunc' of undefined Page:74 Uncaught TypeError: ASPx.TCTClick is not a function

什麼我做錯了嗎?我真的不明白爲什麼它不適用於第二個和下一個標籤點擊。

+1

這是一個JavaScript錯誤或.NET錯誤?看起來像JavaScript,但只是想確定。如果是這樣,您可能需要發佈相關的JavaScript代碼。您的瀏覽器應該能夠告訴您錯誤發生的位置 – ADyson

+0

這是包含在默認腳本中的JavaScript錯誤。這很有趣,只有當我向頁面添加新內容而不是刪除時纔會出現此錯誤。 –

+0

「默認腳本」。究竟哪個腳本?瀏覽器中沒有默認腳本,只有您或MVC框架添加的腳本。這將有助於瞭解錯誤的位置。 – ADyson

回答

0

試試這個:

<script> 
    function OnTabClickEvent(s, e) { 
     var tableUrl; 

     switch (e.tab.Index) { 
      case 0: 
       tableUrl = CGridView.PerformCallback(); // where CGridView is the name of the grid view 
       break; 
      default: 
       tableUrl = TGridView.PerformCallback(); // where TGridView is the name of the grid view 
     } 

    } 
</script> 

瞭解更多關於回調的位置:https://documentation.devexpress.com/#AspNet/CustomDocument9052

相關問題