У нас странное поведение на некоторых серверах. У нас есть HTML DIV с «data-» значение оцениваемого в выражении Razor:Выражение бритвы без оценки
<div id="adresseData" data-iseditable="@(user.CheckAccess("Scope", "PermissionX"))" />
Метод CheckAccess возвращает булево значение. На локальных машинах и старых серверах, evverything работает отлично, и результаты HTML на браузере выглядит следующим образом:
<div id="adresseData" data-iseditable="True"></div>
Но так как мы мигрировали на новых серверах, мы имеем странное поведение. Значение является строкой, которая является точно такой же, как data- выражение:
<div id="adresseData" data-iseditable="data-iseditable"></div>
Мы смотрели везде в коде, чтобы увидеть, если какой-то клиент скрипт делает переключатель, но ничего не нашли. Кто-нибудь когда-нибудь сталкивался с чем-то подобным?
Для получения информации, мы нацелены на обеспечение .NET Framework версии 4.5 и мы используем клиента Javascript рамки KendoUI
EDIT: Похоже значения вычисляются правильно, когда условие используется непосредственно или внутри " If ", но это происходит только тогда, когда мы присваиваем значение атрибуту.
Из любопытства - каково значение '@ (user.CheckAccess (« Scope »,« PermissionX »))' - попробуйте отладить его/напечатать на нем, чтобы увидеть, что он возвращает. –
Хорошо, мы попробуем его как можно скорее (у меня нет прав доступа на сервере окружения DEV, не спрашивайте меня, почему ...). Мы обнаружили некоторые другие проблемы, которые могут спровоцировать ошибку с кодировкой. –
Вы проверяете сгенерированный HTML или DOM? – CodeCaster