Мне нужно перезагрузить GridView
на событие click tab. Я написал следующий код:Сбой приложений после добавления нового контента в 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
Что я делаю неправильно? Я действительно не могу понять, почему он не работает на второй и следующей вкладках.
является ли это Java-ошибка или ошибка .NET? Похож на javascript, но просто хотел быть уверенным. Если это так, вам, вероятно, придется опубликовать связанный код javascript. Ваш браузер должен иметь возможность указать строку, в которой происходит ошибка. – ADyson
Это ошибка в JavaScript, которая содержится в сценариях по умолчанию. И это интересно, эта ошибка появляется только в том случае, если я добавляю новый контент на страницу, а не удаляю. –
"скрипты по умолчанию". Какие именно сценарии? В браузере нет сценариев по умолчанию, только те, которые были добавлены вами или с помощью среды MVC. Это поможет узнать местоположение ошибки. – ADyson