我在视图中编写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#方法,而且它出错了。
以前有人这样做过吗?有什么建议吗?
谢谢,
菲利普
答案 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>
}
我尚未测试此代码