В .NET Framework null
получает вывод в виде пустой строки, поэтому, если вы посмотрите на фактический javascript, отправляемый в браузер, в первом случае он скажет:
if ('' == null)
... а во втором случае он скажет:
if ('' == "")
Большинство программистов на javascript советуют вам просто изменить выражение на:
if ('@ViewBag.SelectVale')
... потому что пустые строки оцениваются в false
, когда они рассматриваются как логические значения в javascript.
Или, поскольку здесь нет ничего действительно динамичного, попробуйте следующее:
@if(ViewBag.SelectVale == null) {
<text>
// do something in javascript.
</text>
}
... что позволит избежать вывода даже JavaScript "сделать что-то", поскольку вы знаете, что при рендеринге страницы значение SelectVale равно null.