Передача булева значения в моем представлении .net MVC к JavaScript, но JS не принимает Правда, хочет верный

Я передаю булево значение функции JavaScript в моем .NET mvc страница действия.

проблема, она производит Верное значение, и JavaScript по-видимому только принимает 'верный' (в нижнем регистре).

Я не хочу взламывать переменную и делать ее строкой и преобразовывать ее в нижний регистр в моем действии, но похоже, что у меня нет выбора?

14
задан mrblah 17 March 2009 в 11:43
поделиться

3 ответа

При использовании ToString () метод на булевской переменной.NET для отправки значения в JavaScript, попытайтесь заменить его чем-то как

(myBoolean ? "true" : "false")

так, чтобы это было отправлено в JavaScript как соответствующее строковое представление необходимого значения bool.

РЕДАКТИРОВАНИЕ: Примечание различие между:

<script type="text/javascript">
var myBoolean = <%= (myBoolean ? "true" : "false") %>;
</script>

и

<script type="text/javascript">
var myBoolean = '<%= (myBoolean ? "true" : "false") %>';
</script>

В первом примере, Вы заканчиваете с:

var myBoolean = false;

и это - литеральная булева ложь. Во втором Вы заканчиваете с:

var myBoolean = 'false';

и в JavaScript, 'ложь' является непустой строкой и следовательно, если оценено в булевом контексте, это будет верно. Ну, истинный выход.:)

18
ответ дан 1 December 2019 в 10:04
поделиться

Вы хотите использовать это:

(.NET 3.5) Система. Сеть. Сценарий. Сериализация. JavaScriptSerializer. Сериализируйте

0
ответ дан 1 December 2019 в 10:04
поделиться

Я записал общественности js метод, когда я должен проверить переданную логическую переменную от действия в JavaScript, просто отправьте исходное значение в этот метод для парсинга.

function GetBooleanValue(value) {
if (value == undefined) return false;

var parsedValue = value.toLowerCase();

if (parsedValue === "false") return false;
else if (parsedValue === "true") return true;
else return false;
}
0
ответ дан 1 December 2019 в 10:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: