[英]Using Razor Syntax within JavaScript Conditional Statment
在index.cshtml中,我有以下类似的工作代码:
<script type="text/javascript">
if ('@Model.SomeCondition' === 'True'){
Do Something();
}
</script>
=== 'True'
在我看来迫使Razor和JavaScript相处融洽。 如何重构使用=== true
? 这不会产生相同的结果。 可以用Razor和JavaScript完成吗?
如果属性为bool
,则可以通过以下方式在剃刀中检查状况:
<script type="text/javascript">
@if (Model.SomeCondition){
@:Do Something();
}
</script>
要么:
<script type="text/javascript">
@if (Model.SomeCondition){
<text>
Do Something();
</text>
}
</script>
假设SomeCondition
是一个字符串,请删除引号,并使其符合javascript布尔值的小写形式
<script language="javascript">
// just to be clear this is javascript, not server code
if (@Model.SomeCondition.ToLowerInvariant()){
.. //
}
</script>
但是,如果SomeCondition
在服务器代码中是布尔值,则需要首先转换为字符串并将其转换为小写
<script language="javascript">
// just to be clear this is javascript, not server code
if (@Model.SomeCondition.ToString().ToLowerInvariant()){
.. //
}
</script>
只需在c#/ razor中使用要在其中执行的javascript编写if satement。
例:
@if(boolVariable)
{
<script>
//javascript here
</script>
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.