0
나는 목록을 포함을 ViewData에서 배열을 생성하기 위해 내 MVC3 (영문)에서 다음을 사용 Response.Write, 대체 접근 방식이 있습니까? 당신의 제안에 감사드립니다.자바 스크립트 배열 면도기
나는 목록을 포함을 ViewData에서 배열을 생성하기 위해 내 MVC3 (영문)에서 다음을 사용 Response.Write, 대체 접근 방식이 있습니까? 당신의 제안에 감사드립니다.자바 스크립트 배열 면도기
시도해보십시오. 나는 당신이 면도기에 있다면 당신은 반응이 필요하다고 생각하지 않습니다.
@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();
}
}
고맙습니다. 오류가 발생했습니다. 'Raw (Void)를 해결할 수 없습니다. – hncl
죄송합니다. 업데이트를 참조하십시오. –
감사합니다. Html.Raw를 사용하면 화면에 배열이 인쇄됩니다. 디버그에서 배열을 볼 수 있습니다. 그러나 예를 들어 alert (InfoURls [1])과 같은 다른 JavaScript 함수에서 액세스하려고하면 InfoURL이 정의되지 않습니다! – hncl