我在开发一个asp.net3.5的网络销售平台.在前台我想调用后台c#里的变量值..
我写了一个javascript.    function picturemove(e) {
//        alert("1");
        //        for (i = 0; i < 2; i++) {
        //alert(document.getElementById('<%=defaultImage.ClientID%>').src);        //alert(3);
        for(j=0;j < '<%=ThumbNailPictures.Count%>';j++) {
            //alert('<%=ThumbNailPictures.Count%>');
            if (document.getElementById('<%=defaultImage.ClientID%>').src == "<%=PictureManager.GetPictureUrl(ThumbNailPictures[j].PictureID)%>") {
            bigbox.style.backgroundImage = "url(<%=PictureManager.GetPictureUrl(ZoominPictures[j].PictureID)%>)";
            }
//            else if (document.getElementById('<%=defaultImage.ClientID%>').src == "<%=PictureManager.GetPictureUrl(ThumbNailPictures[1].PictureID)%>") {
//            bigbox.style.backgroundImage = "url(<%=PictureManager.GetPictureUrl(ZoominPictures[1].PictureID)%>)";
//            }
//            else if (document.getElementById('<%=defaultImage.ClientID%>').src == "<%=PictureManager.GetPictureUrl(ThumbNailPictures[2].PictureID)%>") {
//            bigbox.style.backgroundImage = "url(<%=PictureManager.GetPictureUrl(ZoominPictures[2].PictureID)%>)";
//            }
        }        //后面省略
编译之后报错:Error 232 当前上下文中不存在名称“j” C:\Users\xman\Desktop\Damaged_12_May_09_Beta1\Modules\Products\ProductInfo.ascx 80我该如何来通过前台索引值来引用后台数组的值呢?在线等...

解决方案 »

  1.   

    for(j=0;j < '<%=ThumbNailPictures.Count%>';j++)
    写错了吧for(var j=0;j < '<%=ThumbNailPictures.Count%>';j++)
      

  2.   

    就是这句话
    if (document.getElementById('<%=defaultImage.ClientID%>').src == "<%=PictureManager.GetPictureUrl(ThumbNailPictures[j].PictureID)%>") {
    说里面j不存在...
      

  3.   

    ThumbNailPictures是后台c#文件里的一个数组   function picturemove(e) {
    是前台一个jscript..
    j是其中一个变量,在取得ThumbNailPictures索引值的时候,因为要用到后台变量,肯定不认这个j啊...但是怎么才能获得这样的效果呢?我是半路出家...没有系统学过asp.net- -还请见谅啊
      

  4.   

    ThumbNailPictures设为公有了吗?
      

  5.   

     for(j=0;j < '<%=ThumbNailPictures.Count%>';j++) {
    你这的j就没定义啊 
    应该这样的for(var j=0;
      

  6.   

            if (false) {
                if (document.getElementById('<%=defaultImage.ClientID%>').src == "<%=PictureManager.GetPictureUrl(ThumbNailPictures[0].PictureID)%>") {
                    bigbox.style.backgroundImage = "url(<%=PictureManager.GetPictureUrl(ZoominPictures[0].PictureID)%>)";
                }
                else if (document.getElementById('<%=defaultImage.ClientID%>').src == "<%=PictureManager.GetPictureUrl(ThumbNailPictures[1].PictureID)%>") {
                    bigbox.style.backgroundImage = "url(<%=PictureManager.GetPictureUrl(ZoominPictures[1].PictureID)%>)";
                }
                else if (document.getElementById('<%=defaultImage.ClientID%>').src == "<%=PictureManager.GetPictureUrl(ThumbNailPictures[2].PictureID)%>") {
                    bigbox.style.backgroundImage = "url(<%=PictureManager.GetPictureUrl(ZoominPictures[2].PictureID)%>)";
                }
            }我把if语句都设置成这样了...怎么debug的时候还能进到if里面跳出说我数组超界的异常啊.我胸闷啊...
      

  7.   

    检查后台代码:"<%=PictureManager.GetPictureUrl(ThumbNailPictures[0].PictureID)%>") 跟你设置if(false)没有关系因为后台代码的执行顺序在前台的脚本之前,因为你在前台调用了后台方法,所以编译器会先报错PictureManager.GetPictureUrl(ThumbNailPictures[0].PictureID)%在这个后台方法里加个断点不就知道什么原因了吗
      

  8.   

    ThumbNailPictures.Count  先写入  hiddenField  不行吗?