У меня есть объект DataTable в C #, я передаю объект в свой класс aspx в JavaScript, как показано ниже. В JavaScript у меня есть цикл по страницам отчета PowerBI. Все, что мне нужно сделать, это сравнить, если PageLists (из c #) включает page.DisplayName и выполнить какой-то процесс на основе этого. Смотрите код ниже:
C #:
DataTable PagesList = null; //(this is globally defined)
...
protected void Page_Load(object sender, EventArgs e)
{
PagesList = sql.QueryDataTable(String.Format("select PageLabel, DefaultPage from myTable where ReportID = '{0}';",ReportID));
}
JavaScript:
<script>
var pageslist = "<%=PagesList%>";
alert(pageslist); //This pops up: "Table"
report.getPages().then(function (pages) {
var allpages = ''
pages.forEach(function(page) {
if(pageslist.includes(page.displayName) > -1) //this is not working properly
{
allpages = allpages+'<button type="button" onclick=setPage(\''+page.name+'\')>' + page.displayName+'</button>';
}
});
...
...
Здесь это работает не так, как я ожидал, если part всегда возвращает false. Каков наилучший способ для этого случая проверить, включает ли список страниц page.displayName или нет? Как я могу получить элементы списка страниц? Любая помощь будет оценена.