【发布时间】:2015-12-14 22:44:55
【问题描述】:
我正在尝试使用在 javascript if 语句内的控制器中设置的布尔 MVC ViewBag 属性。但是,由于属性值被转换为 Pascal 大小写,因此引入了一个问题。例如,“真”变成“真”,“假”变成“假”。
<script type="text/javascript">
var error = @ViewBag.Dropped;
if ( error ) {
$( '#alert-message' ).addClass('alert-success alert-dismissable');
}
</script>
如何确保该属性转换为小写。我尝试使用 javascript 函数 .toLowerCase() 并没有成功。
【问题讨论】:
-
需要考虑属性是字符串还是布尔值。 True 值可能实际上是一个布尔值(因此是这种情况),当您在 Javascript 中分配它时,它会转换为字符串。
-
与大小写无关。
var error = @ViewBag.Dropped;返回一个文本值,因此if ( error ) {将始终被评估为 true - 您需要if (error === 'True') { -
使用@Json.Encode(ViewBag.Dropped),它对我有用。我在 JS 中使用 CS 文件中的 bool 属性。
标签: javascript c# asp.net-mvc