【问题标题】:How could i call a javascript function within the view of my ASP MVC application我如何在我的 ASP MVC 应用程序的视图中调用 javascript 函数
【发布时间】:2016-01-28 17:14:27
【问题描述】:

我的视图页面中有以下 JavaScript 函数:

<script type="text/javascript">
  function func(nam) {
    alert(nam);
</script>

我调用这个函数的视图代码在同一页面上是这样的:

@foreach (var item in Model)
{
  <script>func(@item.name) </script>
}

它不会产生任何结果。

我需要从 html 中调用 JavaScript 函数,但它没有发生。请帮助我完成它。

还有其他调用 JavaScript 函数的方法吗?

【问题讨论】:

  • func 函数没有右括号

标签: c# asp.net asp.net-mvc razor


【解决方案1】:

假设你的item.Name属性有一个字符串值SomeThing。所以当剃刀渲染你的页面时,你生成的标记将是

<script> func(SomeThing) </script>

现在javascript引擎认为SomeThing是一个js变量。但是我们没有之前定义和初始化的名称的 js 变量。所以你可能会看到一个脚本错误说

SomeThing 未定义

您需要将参数作为字符串文字传递。用单引号或双引号括起来。

<script>func('@item.name') </script>

您还需要确保在尝试执行该方法之前定义了func javascript 方法。

<script>    
    function func(nam) {
        alert(nam);
    }
</script>

<script>func('@item.Name') </script>

如果函数在外部 js 文件中,你需要确保在执行方法之前包含/加载它。

<script src="~/Scripts/YourJsFileWherFuncIsDefined.js"></script>
<script>func('@item.Name') </script>

【讨论】:

  • 非常感谢 Shyju。有效。非常非常感谢。我真的被困住了。
猜你喜欢
  • 2020-08-28
  • 2014-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-31
  • 1970-01-01
相关资源
最近更新 更多