JavaScript 在 Razor C# 中调用
JavaScript call in Razor C#
我正在尝试在 Razor 的辅助方法中调用 javascript 函数。我的代码看起来像这样:
@helper MyMethod()
{
for (int i = 0; i < 5; i++)
{
drawMe(i)
}
}
drawMe 函数在正确包含的外部 js 文件中声明。我尝试使用 Html.Raw 用标签围绕它,但到目前为止没有任何效果。任何帮助将不胜感激。
谢谢
@helper MyMethod()
{
for (int i = 0; i < 5; i++)
{
<text><script type="text/javascript">drawMe(@i)</script></text>
}
}
如果你想像这样执行javascript,你需要将它包裹在一个脚本标签中。在下面的示例中,您的助手将脚本标记输出到页面,并且 javascript 是一个 for 循环。但是,这对您不起作用的原因可能是其他原因。当您输出这样的脚本时,浏览器会立即执行它,一旦它在 DOM 中检测到它。但是,您的外部文件可能尚未加载。
@helper MyMethod()
{
<script type="text/javascript">
for (var i = 0; i < 5; i++)
{
drawMe(i);
}
</script>
}
所以为了安全起见,您可能希望推迟执行 javascript,直到页面完成所有脚本的加载:
@helper MyMethod()
{
<script type="text/javascript">
window.onload = function()
{
for (var i = 0; i < 5; i++)
{
drawMe(i);
}
}
</script>
}
我正在尝试在 Razor 的辅助方法中调用 javascript 函数。我的代码看起来像这样:
@helper MyMethod()
{
for (int i = 0; i < 5; i++)
{
drawMe(i)
}
}
drawMe 函数在正确包含的外部 js 文件中声明。我尝试使用 Html.Raw 用标签围绕它,但到目前为止没有任何效果。任何帮助将不胜感激。
谢谢
@helper MyMethod()
{
for (int i = 0; i < 5; i++)
{
<text><script type="text/javascript">drawMe(@i)</script></text>
}
}
如果你想像这样执行javascript,你需要将它包裹在一个脚本标签中。在下面的示例中,您的助手将脚本标记输出到页面,并且 javascript 是一个 for 循环。但是,这对您不起作用的原因可能是其他原因。当您输出这样的脚本时,浏览器会立即执行它,一旦它在 DOM 中检测到它。但是,您的外部文件可能尚未加载。
@helper MyMethod()
{
<script type="text/javascript">
for (var i = 0; i < 5; i++)
{
drawMe(i);
}
</script>
}
所以为了安全起见,您可能希望推迟执行 javascript,直到页面完成所有脚本的加载:
@helper MyMethod()
{
<script type="text/javascript">
window.onload = function()
{
for (var i = 0; i < 5; i++)
{
drawMe(i);
}
}
</script>
}