У меня есть потребность в генерации JavaScript на сервере. Я могу сделать это с помощью ASPX-страниц для шаблонирования JavaScript, но я получаю предупреждения и не получаю пользу от подсветки синтаксиса, которая мне бы хотелось. Есть ли способ сообщить среде .Net / Visual Studio, что определенная страница ASPX должна выводить не-HTML текст?
Причиной этого является локализация. Мои локализованные строки поступают с сервера, и они нужны мне в конструкциях JavaScript на страницах. Самый простой способ, которым я придумал, - это иметь один файл JS (сейчас я назову его l18n.js), который определяет локализованные строки в объекте JSON.
l18n = {
OK: <%= GetString("OK") %>,
Cancel: <%= GetString("Cancel") %>,
ConfirmDialog: {
Title: <%= GetString("ConfirmTitle") %>,
Message: <%= GetString("ConfirmMessage") %>
}
// .. etc.
}
Это позволяет мне использовать локализованные строки в других частях пользовательского интерфейса
var okButton = $('<button>' + l18n.OK + '</button>')
Но, как уже говорилось, простое добавление JavaScript на страницу ASPX, l18n.js.aspx, приводит к предупреждениям и не обеспечивает подсветку синтаксиса. Есть ли лучший способ, который хотя бы избавился от предупреждения? Текущий -
Сбой при создании файла конструктора: исключение из HRESULT: 0x80042929
И в случае, если это имеет значение, проект построен на основе .Net 2.0
Разъяснение
Язык не выбран пользователем, поэтому он не должен меняться все время, и я должен иметь возможность использовать значение языка в качестве ETag, поэтому кэширование не должно быть такой большой проблемой. С точки зрения браузера, я считаю шаблонный JS статическим файлом, как и остальные файлы. Я просто не хочу объявлять ~ 10 статических файлов JS отдельно, если я могу автоматизировать это.