Причина того, почему r'\'
синтаксический неправильный, состоит в том, что, хотя строковое выражение является сырыми данными, используемые кавычки (единственный или двойной) всегда должны быть Escape, так как они отметили бы конец кавычки иначе. Таким образом, если Вы хотите выразить одинарную кавычку в единственной заключенной в кавычки строке, нет никакого другого пути, чем использование \'
. То же запрашивает двойные кавычки.
, Но Вы могли использовать:
'\\'
Во-первых, вы можете рассмотреть возможность установки UICulture = "auto", а также Culture = "auto" в своем объявлении <% @ Page%>.
Сейчас я этого не вижу repro в моей установке .NET 4.0 (бета), так что это может быть ошибка продукта в .NET 3.5.
Вот отличный ресурс для изучения нейтральных культур и разницы между UICulture и культурой: http://blogs.msdn.com/ddietric/archive/2008/02/05/yacvcp-yet-another-currentculture -vs-currentuiculture-post.aspx
Надеюсь, это поможет.
Вы не можете установить культуру по запросу на начало? (Примечание: запросы asp.net могут перескакивать между потоками, поэтому вам также необходимо подключиться к движущемуся потоку.)
У меня была та же проблема, и после того, как я некоторое время бился головой о стену, я нашел ответ прямо у себя под носом.
Моя проблема заключалась в том, что я не понимал разницы между CurrentCulture и CurrentUICulture . Разница в том, что CurrentCulture используется для форматирования дат, чисел и выполнения сортировки, CurrentUICulture используется для поиска строк, специфичных для языка и региональных параметров, из ресурса.
У меня был код, который выглядел как
return input.ToString("C", System.Globalization.CultureInfo.CurrentUICulture);
, хотя должен был быть
return input.ToString("C", System.Globalization.CultureInfo.CurrentCulture);
. Когда вы начинаете пытаться отформатировать элементы, специфичные для культуры, с неспецифической культурой, вы получите System.NotSupportedException.