2012-11-08 45 views
-1

我试图在javascript中添加一些C#代码。但我无法将我的var名称解析为C#代码。在javascript中添加剃刀语句

我想是这样的:

$.ready(function(){ 
    var name = $("#input"); 

    @Class.text(name) 
}); 

,但它不会让我来解析名称。

这是什么,我得到了一个短版,@class代表更复杂的功能

+0

是所有的剃刀代码或部分JavaScript? – Kami

+0

它的javascript,放在我的cshtml文件的标题 –

+0

我相信你可以在javascript中做文本方法的功能,所以我认为你不需要剃须刀来完成它 –

回答

2

语法的确不正确。

var name = $("#input");是javascript。文档加载完成后在客户端执行。 @Class是服务器端,并在生成页面时执行。

你不能在C#中使用JavaScript变量。你试图达成什么目标?可能有不同的方式来这样做。

- 更新:您正尝试从javascript调用c#方法。

总体而言,这将需要一个回给服务器 - 见http://blog.bobcravens.com/2009/11/ajax-calls-to-asp-net-mvc-action-methods-using-jquery/

1

@MichaelTotKorsgaard根据我们对你的问题的意见的讨论中,我想我现在明白了。不幸的是,你试图做的只是不起作用。它不这样工作。你做AJAX/JSON的原因是因为,一旦C#/ MVC/ASP.NET返回HTML(它实际上并不知道它返回的内容是否有效),这取决于客户端“做些什么”。这就是JavaScript的用武之地。但服务器端MVC和客户端JS实际上并不知道彼此的任何事情。你需要1)发回或2)使用AJAX。

它的时间来鞍,并学习如何做到这一点:)

如果你给什么你实际上是试图完成更多的细节 - 就像你试图从JS/AJAX加载哪些 - - 那么我确定你可以给你更多的信息,让你走上正确的道路。