2016-03-09 3 views
0

У меня есть что-то подобное на моей странице просмотра ASP.NET MVC.Функция JavaScript для форматирования текста

<li>Status: <span id="serviceStatus">formatServiceAvaibility(@service.Avaiable);</span></li> 

сервис строгий набросок объекта. И функции:

function formatServiceAvaibility(serviceStatus) { 
    if (serviceStatus == true) 
     return 'ON'; 
    return 'OFF'; 
} 

Почему это не работает во время загрузки страницы? Результат: Статус: formatServiceAvaibility (True);

Как это сделать?

+0

Пожалуйста, убедитесь, что ваша функция вызывалась .. попробовать с предупреждением, что значение, передаваемое в нем. –

ответ

2

Это может быть потому, что C# форматы bool с большой буквы. Попробуйте изменить код

formatServiceAvaibility(@(service.Avaiable ? "true" : "false")); 

или

formatServiceAvaibility(@(service.Avaiable.ToString().ToLower())); 
+0

  • Статус: myF (@ service.Avaiable.ToString(). ToLower());
  • функция myF (serviceStatus) { if (serviceStatus == 'true') return 'ON'; return 'OFF'; }; все еще не работает – Nerf

    +0

    Внутри функции serviceStatus имеет тип bool, и при сравнении значение '' true'' должно быть без апострофов. Это потому, что когда значение передавалось в функцию, оно не было завернуто в апострофы. –