首页 新闻 会员 周边 捐助

c#前台调后台方法

0
[已解决问题] 解决于 2013-07-30 11:27

后台代码:

 public string aaa()
        {
            string a = "qqqqq";
            return a;
        }

前台代码:

<script>var a = <%=aaa() %>; alert(a)</script>

为什么不会输出?

c#
问题补充:

谢谢!!!那如果是个数组呢?

后台代码:

public Array  getUrl()
        {
            string[] a={ "031.jpg","033.jpg","047.jpg"};
            return a.ToArray();
        }

前台代码:

<img id="p" /> 
     <script>
         var t = new Array();
         t=<%=getUrl()%>; 
         var i = 0;
         function changepic() {
             if (i > 2)
             i = 0;
             var p = document.getElementById("p");
             p.src = t[i]; i++;
             setTimeout(changepic, 4000);
         }
         window.onload = changepic;   
     </script>

..00..的主页 ..00.. | 初学一级 | 园豆:49
提问于:2013-07-29 10:07
< >
分享
最佳答案
0

数组的话,可以这么写:

public string getUrl()
{
    string[] a = { "031.jpg", "033.jpg", "047.jpg" };
    return string.Join("','",a);
}

页面:

     <img id="p" />  
     <script>
         var t = new Array();
         t=['<%=getUrl()%>'];  
         var i = 0; 
         function changepic() {
             if (i > 2) 
                 i = 0;
             var p = document.getElementById("p");
             p.src = t[i]; i++;
             setTimeout(changepic, 4000);
         }
         window.onload = changepic;    
     </script>

总之就是让getUrl输出你页面想要的那部分js代码,最好的调试方法就是查看生成后的html,你就清楚了

奖励园豆:5
libaoheng | 小虾三级 |园豆:1433 | 2013-07-29 23:27
其他回答(2)
1

很简单,页面的代码变成了 var a = qqqqq; 缺少引号

应该改为:<script>var a = "<%=aaa() %>"; alert(a)</script>

Fencer | 园豆:7 (初学一级) | 2013-07-29 10:29
0

学习了

panjk | 园豆:712 (小虾三级) | 2013-07-30 09:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册