我的 View 页面中有以下 JavaScript 函数:
<script type="text/javascript">
function func(nam) {
alert(nam);
</script>
我在同一页面上调用此函数的 View 代码如下所示:
@foreach (var item in Model)
{
<script>func(@item.name) </script>
}
它不会产生任何结果。
我需要从 html 中调用 JavaScript 函数,但它没有发生。请帮助我完成它。
还有其他调用JavaScript函数的方法吗?
最佳答案
假设您的 item.Name
属性有一个字符串值 SomeThing
。那么当 razor 呈现您的页面时,您生成的标记将是
<script> func(SomeThing) </script>
现在 javascript 引擎认为 SomeThing
是一个 js 变量。但是我们没有之前定义和初始化的那个名称的 js 变量。所以你可能会看到一个脚本错误说
SomeThing is not defined
您需要将参数作为字符串文字传递。用单引号或双引号括起来。
<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>
关于c# - 我如何在我的 ASP MVC 应用程序的 View 中调用 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35067798/