2013-02-27 55 views
1

我想在我的JavaScript代码中调用C#方法,并试图使用剃刀语法将参数传递给它,但无法正确执行。下面是我的代码:使用剃刀在javascript中调用C#代码方法

function RecallNoFmatter(cellvalue) { 
    var value = @(Precall.S300FormatRecall(+cellvalue+)); 
    return value; 

} 

我收到此错误信息:

编译器错误信息:CS0103:名称“cellvalue”在目前情况下不存在。

有人能告诉我如何在上面传递参数的正确语法?

+0

世界上的“+ cellvalue +”应该是什么意思? – 2013-02-27 15:55:11

+1

根据你的[早先的问题](http://stackoverflow.com/questions/11123852/jquery-template-tags-use-with-lambda-expressions-under-html-helper-extensions-in),你是**严重误解服务器与客户端代码,以及它们之间的关系。你应该退后一步,试着理解这两个概念,然后这些事情会变得更加简单和明显。 – R0MANARMY 2013-02-27 16:01:46

回答

4

C#运行服务器端。 @代码在将脚本传递到客户端之前正在运行服务器端,并且无法访问JavaScript值。

您的JavaScript运行在客户端,无法调用服务器端方法。

如果您想向客户端公开服务器端功能,您将不得不使用AJAX并为客户端提供一些服务来调用。

+0

做阿贾克斯调用似乎工作。 – suk 2013-02-27 21:36:12