ngr*_*son 27 razor asp.net-mvc-4
我希望在视图模型中某个条件成立时执行一段JavaScript:
<script type="text/javascript">
@if (Model.Employees.Count > 1)
{
executeJsfunction();
}
</script>
Run Code Online (Sandbox Code Playgroud)
这段代码不能编译,我该怎么做?
小智 40
试试这个:
<script type="text/javascript">
@if (Model.Employees.Count > 1)
{
@:executeJsfunction();
}
</script>
Run Code Online (Sandbox Code Playgroud)
注意" @: "
Ali*_*hşi 14
使用js if-else块,而不是C#.Js有自己的if-else区块.
<script type="text/javascript">
if (@Model.Employees.Count > 1)
{
executeJsfunction();
}
</script>
Run Code Online (Sandbox Code Playgroud)
Cla*_*art 11
如果你有更复杂的JS,你可以执行以下操作(脚本标签或任何标签,在@if内不需要额外的转义):
@if (Model.Employees.Count > 1)
{
<script type="text/javascript">
$(function() {
executeJsfunction();
});
</script>
}
Run Code Online (Sandbox Code Playgroud)
对于剃刀条件块中的多行脚本,可以使用:
<script type="text/javascript">
@if (Model.Employees.Count > 1)
{
<text>
executeJsfunctionOne();
executeJsfunctionTwo();
executeJsfunctionThree({
"var_one": true,
"var_two": false
});
</text>
}
</script>
Run Code Online (Sandbox Code Playgroud)
与在每行中添加@:相比,这可以使它更清洁,更实用。在内的一切<text></text>块呈现为脚本。
MVC 变量在服务器端处理,代码始终尝试渲染 Javascript 值以生成 HTML,请尝试以下代码:
<script type="text/javascript">
@{if (Model.Employees.Count > 1)
{
@:executeJsfunction();
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助。
| 归档时间: |
|
| 查看次数: |
27699 次 |
| 最近记录: |