2013-10-11 2 views
0

У меня есть следующий блок JScript, где я хочу установить строку ресурса из файла глобального ресурса.Строки ресурсов в JScript с классическим ASP.NET

<script type="text/jscript" language="jscript"> 
    function DoSmthg(sender, args) { 
     var message = "<%# MyDomain.Properties.Resources.MyString %>"; 
    } 
</script> 

Но переменная всегда остается пустой. Есть много хорошей Документации о строковых выражениях как http://support.microsoft.com/kb/976112/en-us я бы подумал, что

"<%= MyResource %>" 

будет правильным, но я всегда получаю ошибку: «Коллекция Controls не может быть изменена, так как контроль содержит кодовые блоки (то есть <% ...%>). "

+0

change '" <% = MyResource%> "' to '" <% # MyResource%> "' –

+0

Я сделал это. Тогда я не получаю ошибки, но переменная пуста. – StefanG

+0

Я думаю, моя проблема описана здесь: http://www.aspsnippets.com/Articles/The-Controls-collection-cannot-be-modified-because-the-control-contains-code-blocks-ie.aspx Можно ли переместить код в клиентское событие, например: StefanG

ответ

0

Это работает для меня:

Как указано в http://www.aspsnippets.com/Articles/The-Controls-collection-cannot-be-modified-because-the-control-contains-code-blocks-ie.aspx проблема в том, что элементы управления добавляются динамичным, и это не возможно, если я использую <% = ...%> встроенные теги.

Я переместил jscript с встроенным выражением в элемент управления в теле, и он работал нормально.

0

Вот пример, который работает для меня:

<script type="text/javascript"> 
    alert('<%= GetGlobalResourceObject("Lang", "Interval")%>'); 
</script> 

<% # < - это должно быть использовано для более boudable привязка porperty элемента управления на стороне сервера.

+0

Когда я использую <%= ... %>, я получаю указанную ошибку. – StefanG

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