2011-12-04 99 views
1

使用下面的嘗試,但它不是解決c#string [] to jquery string list?

控制器:

var list = new [] { "one", "two", "three" }; 
ViewData["List"] = javaScriptSerializer.Serialize(list); 

的jQuery:

var list = [ '@ViewData["List"]' ]; 
$("#numbers").autocomplete({ 
    source: list 
}); 
+0

爲jQuery的字符串列表沒有這樣的事情......檢查'服務器輸出「VAR列表= ...」'在查看源代碼在瀏覽器 – Esailija

+0

它的['["一個","兩個","三個"]']; – Suedeuno

+0

爲了在客戶端做出一個javascript數組,輸出需要是「[」one「,」two「,」three「]」' – Esailija

回答

3

在你的頁面(可能是剃鬚刀,根據你的語法),聲明你的列表,所以:

var list = @Html.Raw(ViewData["List"]); 

在你目前的imp HtmlHelper編譯你的字符串以便在網頁中正確顯示,這顯然不需要(因此使用了HtmlHelper.Raw),而且你還在數組中嵌套數組。

+0

使用JavaScript序列化程序['[「ActionScript」,「AppleScript」,「Asp」,「BASIC」,「C」,「C++」,「Clojure」,「COBOL」,「ColdFusion」 , 「二郎神」, 「FORTRAN」, 「常規」, 「哈斯克爾」, 「Java」 的, 「JavaScript的」, 「Lisp的」, 「Perl的」, 「PHP」, 「巨蟒」, 「紅寶石」, 「斯卡拉」,」方案」]']; – Suedeuno

+0

那是不是你所期望的? –

+0

我想通了,我已經添加它作爲這樣var list = ['@ViewData ...你的例子工作感謝。 – Suedeuno

0

使用此:

var list = [ '@Html.Raw(ViewData["List"])' ]; 
$("#numbers").autocomplete({ 
    source: list 
});