javascript - MVC : Calling Javascript function in View without any HTML control

标签 javascript asp.net-mvc-3 function model

我有一个 View ,在页面加载时我会在其中进行一些条件检查。

 if(model.count()>0){

 }

如果满足这个条件,我想调用一个 javascript 函数。请问我该怎么做?

我知道如何在 html 控件中执行此操作,但是可以在没有任何控件的情况下完成吗?

或者我如何在 JavaScript 中进行此检查,从而必须引用 View 的模型?

编辑

这是我现在拥有的,但该功能无法识别:The name myfunction does not exist in the current context

<script>
    $(document).ready(function () {
        @if (Model.Count() > 0)
        {
           myfunction(Model.parameter);

        }
    });
</script>

编辑

我把它改成了

@if (Model.Count() > 0)
{
<script type="text/javascript">

        $(document).ready(function () {
        myfunction(@Model.parameter);
     });

</script>
 }

但不工作。即使我尝试类似 alert("test" + @Model.parameter)在 .ready(function()) 中,它不起作用。

或者,我必须在 View 中编写代码。我尝试消除该函数并在 View 中执行它,但我需要一种将 html 元素的 id 属性设置为变量的方法。类似 var variable = Model.param1然后有<div id=variable></div> 。但是如何将 id 属性设置为变量呢?

最佳答案

你可以简单地在大括号之间添加 javascript。因此,如果您使用的是 Razor

@if(model.count()>0){
    <script>
        // Javascript code here
    </script>
}

这将在页面中添加 JavaScript,然后在浏览器呈现页面时执行该 JavaScript。

一个好的做法是在整个文档准备就绪时执行此代码。如果您使用的是 jQuery,则可以使用 $(document).ready(function(){/*此处为代码*/});

关于javascript - MVC : Calling Javascript function in View without any HTML control,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14204046/

相关文章:

javascript - 在 JavaScript 中管理 coSTLy 滚动的最佳方法?

javascript - Angular从html中的控件获取值

javascript - 是否可以在字段有效时触发事件(html5)?

c++ - 如果 lambda 使用 std::move() 捕获不可复制的对象,为什么它是不可 move 的?

sql-server - SQL Server 是否有删除括号及其内容的函数?

php - 使用隐藏表单将 javascript 变量传输到 php?

c# - 从其他 Controller 渲染局部 View

asp.net-mvc - L2S 数据上下文不同步 : row not found or changed

python - 在字符串/数组中存储多个函数值 (Python)

asp.net-mvc-3 - 隐藏日期的默认值