2012-11-08 44 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加載哪些 - - 那麼我確定你可以給你更多的信息,讓你走上正確的道路。