【问题标题】:Call JavaScript function from ASP.NET Razor [duplicate]从 ASP.NET Razor 调用 JavaScript 函数 [重复]
【发布时间】:2017-05-31 08:40:50
【问题描述】:

我正在视图中编写 Razor 代码,并且需要使用 Razor 代码呈现的 JSON 调用 JavaScript 函数:

// JavaScript function
function buildTemplate(currentTemplate) {
    alert('hello world');
}

@* Build out entire Template structure in JavaScript *@
@foreach (Template template in Model.Templates)
{            
    buildTemplate(JsonConvert.SerializeObject(template));        
}

出于某种原因,Razor 认为 buildTemplate 是它无法找到的 C# 方法,因此出错。

以前有人做过吗?有什么建议吗?

谢谢,

菲利普

【问题讨论】:

  • 你能不能不使用@helper buildTemplate 语法将buildTemplate 编写为剃刀辅助方法。您可以将输出分配给 texbox,然后读取 Jscript 中的内容?

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


【解决方案1】:

你可以使用

@: buildTemplate(@JsonConvert.SerializeObject(template));

或

<text>
buildTemplate(@JsonConvert.SerializeObject(template));
</text>

【讨论】:

    【解决方案2】:

    尝试添加&lt;script&gt;标签

    @* Build out entire Template structure in JavaScript *@
    @foreach (Template template in Model.Templates)
    {            
        <script>buildTemplate(JsonConvert.SerializeObject(template))</script>        
    }
    

    我没有测试过这个代码

    【讨论】:

      猜你喜欢
      • 2013-03-23
      • 1970-01-01
      • 1970-01-01
      • 2013-10-24
      • 2010-09-05
      • 2011-04-30
      • 1970-01-01
      • 1970-01-01
      • 2014-08-24
      相关资源
      最近更新 更多