2014-12-11 2 views
0

나는 목록을 포함을 ViewData에서 배열을 생성하기 위해 내 MVC3 (영문)에서 다음을 사용 Response.Write, 대체 접근 방식이 있습니까? 당신의 제안에 감사드립니다.자바 스크립트 배열 면도기

답변

0

시도해보십시오. 나는 당신이 면도기에 있다면 당신은 반응이 필요하다고 생각하지 않습니다.

@Html.Raw(RenderJavascriptHashArray("InfoURLs", "InfoURLs")) 
@{ 
      string RenderJavascriptHashArray (string listName, string hashName) 
      { 

       IEnumerable<KeyValuePair<int, string>> pairs = this.ViewData[listName] as IEnumerable<KeyValuePair<int, string>>; 
        System.Text.StringBuilder sb = new System.Text.StringBuilder(); 
        sb.Append("var " + hashName + " = new Array();\n"); 
       foreach (KeyValuePair<int, string> pair in pairs) 
       { 
       sb.Append(hashName + "[" + pair.Key.ToString() + "] = \"" + pair.Value + "\";\n"); 
       } 
       return sb.ToString(); 
      } 
} 
+0

고맙습니다. 오류가 발생했습니다. 'Raw (Void)를 해결할 수 없습니다. – hncl

+0

죄송합니다. 업데이트를 참조하십시오. –

+0

감사합니다. Html.Raw를 사용하면 화면에 배열이 인쇄됩니다. 디버그에서 배열을 볼 수 있습니다. 그러나 예를 들어 alert (InfoURls [1])과 같은 다른 JavaScript 함수에서 액세스하려고하면 InfoURL이 정의되지 않습니다! – hncl