2016-09-21 57 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

相关问题