MVC:在没有任何HTML控件的情况下在View中调用Javascript函数

jpo*_*jpo 0 javascript model function asp.net-mvc-3

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

 if(model.count()>0){

 }
Run Code Online (Sandbox Code Playgroud)

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

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

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

编辑

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

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

        }
    });
</script>
Run Code Online (Sandbox Code Playgroud)

编辑

我把它改为

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

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

</script>
 }
Run Code Online (Sandbox Code Playgroud)

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

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

bPr*_*tik 5

你可以简单地在大括号之间添加 javascript 。所以如果你正在使用Razor

@if(model.count()>0){
    <script>
        // Javascript code here
    </script>
}
Run Code Online (Sandbox Code Playgroud)

这样做的目的是在页面中添加 JavaScript,然后在浏览器呈现页面时执行该 JavaScript。

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