Я просто написал эту вспомогательную функцию. Поместите его в App_Code/JS.cshtml
:
@using System.Web.Script.Serialization
@helper Encode(object obj)
{
@(new HtmlString(new JavaScriptSerializer().Serialize(obj)));
}
Тогда в вашем примере вы можете сделать что-то вроде этого:
var title = @JS.Encode(Model.Title);
Обратите внимание, как я не помещаю кавычки вокруг него. Если заголовок уже содержит кавычки, он не будет взорваться. Кажется, тоже прекрасно справляются со словарями и анонимными объектами!
Попробуйте strcasecmp ()
. Вот справочная страница для него. Он соответствует 4.4BSD и POSIX.1-2001.
Добавьте определение для перезаписи stricmp с помощью strcasecmp на платформах, которые вы ищете.
#ifdef _IPHONE <- your platform define here
#define stricmp strcasecmp
#define strnicmp strncasecmp
#endif
Тогда вы всегда можете просто использовать stricmp.
stricmp
не является ни POSIX, ни ANSI , поэтому на самом деле не имеет значения, разрешен ли strcmp
, если ваш компилятор или стандартная библиотека строго придерживаются в функции стандартной библиотеки POSIX или ANSI (как, вероятно, имеет место с пакетом GCC).