Abh*_*rya 5 c# asp.net asp.net-mvc razor
我的视图页面中有以下JavaScript函数:
<script type="text/javascript">
function func(nam) {
alert(nam);
</script>
Run Code Online (Sandbox Code Playgroud)
我调用此函数的视图代码在同一页面上如下所示:
@foreach (var item in Model)
{
<script>func(@item.name) </script>
}
Run Code Online (Sandbox Code Playgroud)
它不会产生任何结果.
我需要在html中调用JavaScript函数,但它没有发生.请帮助我完成它.
还有其他调用JavaScript函数的方法吗?
假设您的item.Name属性具有字符串值SomeThing.因此当剃刀渲染您的页面时,您生成的标记将是
<script> func(SomeThing) </script>
Run Code Online (Sandbox Code Playgroud)
现在javascript引擎认为这SomeThing是一个js变量.但是我们没有一个js变量,该名称已定义并在之前初始化.所以你可能会看到一个脚本错误说
SomeThing未定义
您需要将参数作为字符串文字传递.用单引号或双引号括起来.
<script>func('@item.name') </script>
Run Code Online (Sandbox Code Playgroud)
此外,您需要确保func在尝试执行该方法之前定义了javascript方法.
<script>
function func(nam) {
alert(nam);
}
</script>
<script>func('@item.Name') </script>
Run Code Online (Sandbox Code Playgroud)
如果函数在外部js文件中,则需要确保在执行方法之前包含/加载它.
<script src="~/Scripts/YourJsFileWherFuncIsDefined.js"></script>
<script>func('@item.Name') </script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18514 次 |
| 最近记录: |