我正在使用剃须刀模板,以下是场景
$(function(){
//if (ViewBag.IsCallFunction){
somefunction();
//
//do something else
});
如果存在 viewBag 变量,即不为 null 并且设置为 true,那么我想调用一些 javascript 函数。我该怎么做呢?
我正在使用剃须刀模板,以下是场景
$(function(){
//if (ViewBag.IsCallFunction){
somefunction();
//
//do something else
});
如果存在 viewBag 变量,即不为 null 并且设置为 true,那么我想调用一些 javascript 函数。我该怎么做呢?
@{if(ViewBage.somevalue!=null && ViewBage.somevalue=="true")
{
<script type="text/javascript">
somefunction();
</script>
}
}
但请记住,这将被称为渲染,根据 OP,你不能调用它,你可以渲染它,所以在加载文档时在 document.ready 中调用它
<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>
您不会从 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>