2011-12-04 2 views
1

는 다음을 사용하여 시도하지만 해결책이 아니다C# 문자열 [] jquery 문자열 목록에?

컨트롤러 :

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

클라이언트 측에서 자바 스크립트 배열을 만들려면, 출력은''[ "one", "two", "three"] "'이어야합니다." – Esailija

답변

3

이 같은 목록을 선언 그래서 :

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

당신의 현재 imp 참고로, HtmlHelper는 웹 페이지에 올바르게 표시되도록 문자열을 인코딩하고 있습니다. 따라서 웹 페이지에는 원하지 않으므로 (따라서 HtmlHelper.Raw 사용) 배열 내에 배열을 중첩합니다.

+0

That 자바 스크립트 시리얼 라이저 [ '[ "ActionScript", "AppleScript", "Asp", "BASIC", "C", "C++", "Clojure", "COBOL", "ColdFusion" 파이썬 ","루비 ","스칼라 ","자바 스크립트 ","자바 스크립트 "," 계획"]']; – Suedeuno

+0

그게 당신이 기대 한 것이 아니 었나요? –

+0

나는 그것을 알아 냈고, 나는 그것을 var list = [ '@ViewData ...]로 추가했다. 당신의 예제는 감사했다. – Suedeuno

0

사용이 :

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