Как проверить значения поля из таблицы данных в JavaScript, созданной в C #? - PullRequest
0 голосов
/ 15 января 2019

У меня есть объект 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 или нет? Как я могу получить элементы списка страниц? Любая помощь будет оценена.

1 Ответ

0 голосов
/ 15 января 2019

Вы используете includes, которые возвращают true или false, поэтому вам не нужна эта часть: > -1. Вы можете изменить свое состояние:

 if(pageslist.includes(page.displayName)) 

или вы можете использовать indexOf:

 if(pageslist.indexOf(page.displayName) > -1) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...