2012-09-23 75 views
0

我想知道如何將我用javascript製作的字符串傳遞給剃刀中的代碼塊。鑑於以下簡單的幾行js:將jquery字符串傳遞給剃刀中的代碼

var k=0; 
var str1 = 'Model.FeaturedItems['; 
var str2 = '].SubHeadline.ToString();'; 
var query = str1 + k +str2; 

然後,我會如何將字符串查詢傳遞到代碼塊?像這樣:

    alert("@"+query); 

應該打印該行代碼的結果。 編輯: 基本上我想執行此代碼:Model.FeaturedItems[0].SubHeadline.ToString();並在jquery中做結果。但是,我不斷收到語法錯誤嘗試上述。

+0

你的語法錯誤是什麼?你想在這裏做什麼? –

+1

目前還不清楚你想實現什麼......當你的頁面被渲染時,你的剃鬚刀視圖中的代碼在服務器端執行。但是你的JavaScript是在你的瀏覽器的客戶端執行的。所以你不能將JavaScript中的值傳遞給剃刀中的代碼,因爲它們在不同的地方在不同的時間執行。 – nemesv

+0

錯誤是:「」「在代碼塊開始時無效,只有標識符,關鍵字,註釋,」(「和」{「是有效的。 –

回答

2

javascript在客戶端上運行,在服務器上運行razor,您嘗試在服務器上執行客戶端代碼。就在代碼塊中使用c#

C#代碼:

@{ 
    int k = 0; 
    var query = Model.FeaturedItems[k].SubHeadline.ToString(); 
} 

在客戶端@query將包含一些數據,如果是在Razor視圖:

<script type="text/javascript"> 
    alert(@query); 
<script> 
相關問題