从ASP.NET Razor调用JavaScript函数

时间:2017-05-31 08:40:50

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

我在视图中编写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#方法,而且它出错了。

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

谢谢,

菲利普

2 个答案:

答案 0 :(得分:3)

您可以使用

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

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

答案 1 :(得分:2)

尝试添加<script>代码

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

我尚未测试此代码