我正在使用剃刀模板,以下是方案
$(function(){
//if (ViewBag.IsCallFunction){
somefunction();
//
//do something else
});
如果一个viewBag变量存在,即不为null,如果它设置为true,那么我想调用一些javascript函数。我该怎么做?
答案 0 :(得分:1)
@{if(ViewBage.somevalue!=null && ViewBage.somevalue=="true")
{
<script type="text/javascript">
somefunction();
</script>
}
}
但请记住,这将被调用为渲染,根据OP,您无法调用它,您可以渲染它,因此在文档加载时在document.ready中调用它
答案 1 :(得分:0)
<script type="text/javascript">
$(function() {
@if (ViewData.ContainsKey("IsCallFunction") && ViewBag.IsCallFunction)
{
<text>somefunction();</text>
}
});
</script>
但我建议你使用视图模型而不是ViewBag,因为在这种情况下你的代码可以简化:
<script type="text/javascript">
$(function() {
@if (Model.IsCallFunction)
{
<text>somefunction();</text>
}
});
</script>
答案 2 :(得分:0)
你没有从Razor代码调用 JavaScript函数,因为Razor在服务器上运行,而JavaScript在客户端上运行。
相反,您可以向客户端发出JavaScript代码,然后在浏览器加载Razor生成的HTML代码后运行该代码。
您可以执行类似
的操作<script type="text/javascript">
@* The following line is Razor code, run on the Server *@
@if (ViewData.ContainsKey("IsCallFunction") && ViewBag.IsCallFunction) {
@* The following lines will be emitted in the generated HTML if the above condition is true *@
$(function(){
somefunction();
//do something else
});
@} @* This is the closing brace for the Razor markup, executed on the Server *@
</script>