2017-05-31 114 views
1

我写在一个视图剃刀代码,需要调用与被剃刀代码呈现的JSON的JavaScript函数:调用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));   
} 

出于某种原因,剃刀认为buildTemplate是它找不到的C#方法,并且它出错了。

有没有人做过这个?有什么建议?

感谢,

菲利普

+0

难道你不能使用语法@helper buildTemplate编写buildTemplate作为剃刀辅助方法。您可以将输出分配给一个texbox然后阅读Jscript中的内容? – Wheels73

回答

3

您可以使用

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

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

尝试增加<script>标签

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

我还没有测试过这个代码