2015-08-09 4 views
0

Когда я сериализую свой список C# в строку JSON, я не могу получить код javascript, чтобы распознать его как строку.Как преобразовать строку C# в строку javascript?

в моем Default.aspx.cs:

private string allDataJSON; 
JavaScriptSerializer ser = new JavaScriptSerializer(); 
allDataJSON = ser.Serialize(new AccessAllData().getAllData()); 

в моем файла JavaScript:

var allDataJSON = <% =this.allDataJSON %>; 
var myHeading = document.querySelector('h1'); 
myHeading.innerHTML = allDataJSON; 

Как это, первая строка в моем файле JavaScript дает мне ошибку, которая говорит, что неожиданный < символ .... но я видел другие ответы здесь, давая этот синтаксис, но им было 3-4 года.

Все, что я хочу здесь, это мой текст h1, который будет таким же, как и в строке allDataJSON.

+0

Где он дает ошибку? на стороне сервера или на стороне клиента? –

+0

@dj aqeel клиент! – Chuque

+0

Я пробовал много разных синтаксисов. это точная ошибка: Uncaught SyntaxError: Неожиданный токен < – Chuque

ответ

0

Вы не можете поместить код ASP.NET в файлы javascript. Вы хотите сделать что-то вроде этого:

//In your .aspx page, before you load your javascript file 
<script>var allDataJSON = <% =this.alllDataJSON %></script> 

А затем просто ссылаться на allDataJSON в вашем файла JavaScript

+0

, который помогает, но я все еще получаю синтаксическую ошибку с этой строкой кода в visual studio, справа от = и < – Chuque

+0

Спасибо! все, что осталось для этой строки кода для работы, - это одиночная цитата с каждой стороны <% = this.alllDataJSON%> – Chuque

0

Попробуйте это:

var allDataJSON = '<% =this.allDataJSON %>'; 

Поскольку эта переменная является строкой, то она нуждается в надлежащей разделители.

EDIT: Кроме того, вы должны либо включить код в файл .aspx, либо изменить свою конфигурацию, чтобы файлы .js также проходили через конвейер ASP.NET (что я не рекомендую).

Смежные вопросы