Вставить код сервера ASP.NET в JavaScript - PullRequest
1 голос
/ 17 февраля 2010

Я ввел следующий код на стороне сервера в тег .

<%  Dim dataTable As DataTable = cTab.getTabs(Session("UserID"))
    If (dataTable.Rows.Count > 0) Then
       For i As Int16 = 0 To dataTable.Rows.Count%>
       {
           contentEl: 'tab'+'<%dataTable.Rows(0)("TabID").ToString()%>', 
           title: '<%dataTable.Rows(0)("TabName").ToString()%>',
           closable: false,
           autoScroll: true
           },
        <% Next
    End If %>

Но он не возвращает желаемых результатов из-за синтаксических проблем.Как я могу написать это правильно?

Ответы [ 3 ]

2 голосов
/ 17 февраля 2010

Вы дали нам только часть всего javascript, поэтому мы не можем проанализировать, как выглядит окружающий скрипт, чтобы найти синтаксические проблемы. Фрагмент, который вы дали, будет начинаться с открывающей фигурной скобки, которая недопустима, если она стоит сама по себе. Что предшествует этому?

Кроме того, если вы хотите вывести строку в скрипт, вам нужно сделать это, используя Response.Write или ярлык <%= %>. Итак, для одного вам нужно сделать:

   contentEl: 'tab'+'<%= dataTable.Rows(0)("TabID").ToString() %>', 
   title: '<%= dataTable.Rows(0)("TabName").ToString() %>',

(обратите внимание на знаки =).

1 голос
/ 17 февраля 2010

Не видя окружающий код ....

Глядя на цикл, каждый элемент создается с запятой (,), это означает, что в конце будет дополнительная запятая, которая недопустима в некоторых браузерах.

Неверный пример

var myObjArr = [
  {
    contentEl: 'tab'+'123', 
    title: 'name123',
    closable: false,
    autoScroll: true
  },
  {
    contentEl: 'tab'+'456', 
    title: 'name456',
    closable: false,
    autoScroll: true
  },
];

Действительный пример

var myObjArr = [
  {
    contentEl: 'tab'+'123', 
    title: 'name123',
    closable: false,
    autoScroll: true
  },
  {
    contentEl: 'tab'+'456', 
    title: 'name456',
    closable: false,
    autoScroll: true
  }
];

Обратите внимание, что во втором примере нет запятой (,).

0 голосов
/ 17 февраля 2010

Предполагая, что ваш цикл работает, вы, вероятно, не хотите иметь одно и то же значение каждый раз. Я думаю, что вы можете использовать i вместо 0. Это просто дикое предположение, так как я действительно не могу сказать, должен ли цикл работать или нет.

contentEl: 'tab'+'<%= dataTable.Rows(i)("TabID").ToString()%>', 
...