2012-10-30 54 views
0

我該怎麼做?asp.net mvc將js代碼注入剃鬚刀

$for (var i = 0; i < model.CategoryList.length; i++) { 
    var text = model.CategoryList; 
    categories += '<span class="label label-info">' + @((AgesCategory)int.Parse(.....)).GetDescription() + '</span>'; 
} 

我需要更換int.Parse(.....))int.Parse(model.CategoryList [I])從JS代碼。我不能添加文本變量爲int.Parse(...) intellisense檢測到此代碼類似於c#代碼,而不是JS。

更新:

我會嘗試重新制定我的問題:如何我可以從JS變量設定值C#變量?

<script> 
    var temp1 = 1; // js var 
    @{ string temp2 = 0 ;} // c# var 
    @{ temp2 = temp1 } // how do it? 
    var temp2 = @(((MyEnumType)int.Parse(temp2).GetEnumDescription())); //js var 
</script> 

需要使用什麼? '@:' 或者是其他東西?在任何情況下,我都會得到語法錯誤

+0

你能否澄清問題或拋出的錯誤。此外,解釋你想要達到什麼以及你做了什麼。 – ForceMagic

+0

我不能將** text **變量添加到** int.Parse(...)** intellisense檢測到此代碼類似於c#代碼,而不是JS。 – Artem

+0

請修改您自己的帖子以添加此信息。您可以使用問題底部的編輯鏈接進行操作。 :) – ForceMagic

回答

0

我不認爲它可能。由於JavaScript在運行時執行,C#被編譯,它不知道運行時的JavaScript值,所以會出錯。

您可以在C#中對「動態」類型進行一些研究,這是在運行時使用的。

但是,對不起,我不能在這裏寫一個演示,因爲我對「動態」沒有太多期限,儘管我知道它可以在C#上做跨語言的事情。我只能給你這個建議。

+0

謝謝!我會嘗試找到其他方式來完成我的任務。 – Artem

0

瞭解您可以在視圖中的<腳本>塊內使用@表達式。如果您這樣做了,某些開發人員工具可能不會爲JavaScript代碼塊顯示代碼着色或Intellisense,但這不會損害網站編譯和運行的能力。

HTH, 克萊

+0

不,編碼無法編譯。我得到語法錯誤。 – Artem

+0

我會嘗試重新說明我的問題:如何從JS變量設置值C#變量? – Artem