如何从Razor View调用Javascript

时间:2015-11-11 14:15:11

标签: javascript asp.net-mvc-3 razor

如何从剃须刀视图中调用Javascript方法?

起初我试过

@if (TempData["myMessage"] != null)
{ 
    @:displayMessage();
}

当页面呈现时,我真的看到" @:displayMessage();在我的HTML页面上。

然后我尝试了。

@if (TempData["myMessage"] != null)
{ 
    <script type="text/javascript">displayMessage();</script>
}

如果该html页面上存在displayMessage函数,则该方法有效。但是在我的情况下,displayMessage存在于一个单独的javascript文件中。 (其中包含在此网页上)

1 个答案:

答案 0 :(得分:3)

当您渲染的页面的这一部分被渲染时,将调用您尝试调用的JavaScript。您的displayMessage函数当时可能加载也可能不加载,具体取决于您是从单独的js文件加载它,引用它的脚本源是否低于您尝试从中调用它的当前脚本标记您可以推迟调用,直到加载窗口为止:

@if (TempData["myMessage"] != null)
{ 
    <script type="text/javascript">
         window.onload = function () {
             displayMessage();
         };
    </script>
}