3

で配列を設定しようとしていて、そのようなコードの背後にあるJavascriptから値を与えようとしています:DataTable

for (var i = 0; i < '<%=dt_questionVideo.Rows.Count - 1 %>'; i++) {
        videoQarray[i] = '<%=Convert.ToInt32(dt_questionVideo.Rows['+i+'][0]) %>';
    }

エラーが発生します

文字リテラルの文字数が多すぎます

どうすればこれを操縦できますか?

4

1 に答える 1

5

あなたは本当にそれをそのようにすることはできません。このようなJavaScript配列が必要な場合は、コードビハインドで次のようなことを行う必要があります。

        int[] videoQarray = new int[dt_questionVideo.Rows.Count - 1];
        for (var i = 0; i < dt_questionVideo.Rows.Count - 1; i++) {
            videoQarray[i] = Convert.ToInt32(dt_questionVideo.Rows[i][0]);
        }

        string createArrayScript = string.Format("var videoQarray = [{0}];", string.Join(",", videoQarray));

        Page.ClientScript.RegisterStartupScript(this.GetType(), "registerVideoQArray", createArrayScript, true);
于 2012-07-24T14:08:05.573 に答える