有条件执行JavaScript,我想在一定条件下,我认为模型是真,则执行一段JavaScript代码:在Razor视图
<script type="text/javascript">
@if (Model.Employees.Count > 1)
{
executeJsfunction();
}
</script>
此代码不能编译,我应该怎么办呢?
有条件执行JavaScript,我想在一定条件下,我认为模型是真,则执行一段JavaScript代码:在Razor视图
<script type="text/javascript">
@if (Model.Employees.Count > 1)
{
executeJsfunction();
}
</script>
此代码不能编译,我应该怎么办呢?
试试这个:
<script type="text/javascript">
@if (Model.Employees.Count > 1)
{
@:executeJsfunction();
}
</script>
注意 “@:”
它不起作用,仍然无条件地执行该功能 – Anton
用JS if-else
块,不C#。 Js拥有自己的if-else
区块。
<script type="text/javascript">
if (@Model.Employees.Count > 1)
{
executeJsfunction();
}
</script>
如果你有更复杂的JS,你可以做以下(script标签,或任何标签,一个@if内不需要额外的转义):
@if (Model.Employees.Count > 1)
{
<script type="text/javascript">
$(function() {
executeJsfunction();
});
</script>
}
只是想在这里添加我的$ 0.02 - 这很好,对我来说关键点是'
对于剃刀条件块中多行脚本,你可以使用:
<script type="text/javascript">
@if (Model.Employees.Count > 1)
{
<text>
executeJsfunctionOne();
executeJsfunctionTwo();
executeJsfunctionThree({
"var_one": true,
"var_two": false
});
</text>
}
</script>
这可以使它比添加@:每行更清晰和更实用。 <text></text>
块中的所有内容都呈现为脚本。
请参阅此答案以了解更多信息。 http://stackoverflow.com/a/32133898/672891 –