基于PHP和AJAX创建RSS聚合器 移动IP与DHCP、VPN等技术的比较 五招让Vista电脑更具个性化 Oracle 如何搞垮他的数据库——谈Oracle安全

js脚本调用前台函数的奇怪问题

[ 81 查看 / 12 回复 ]

还是昨天的那个程序,只是问题变了,哈。点击A页面一个按钮弹出B页面,在B页面中有一段脚本,需要调用B后台CS的一个方法并获得一个值,并用这个值更新A页面的textbox,再关闭B返回A页面。B页面JS脚本如下:
JScript code

var  k=window.dialogArguments;

   
//设置父窗口的值
    function setFather()
    {
   
//k.document.getElementById("txt10").value = document.getElementById("txt1").value
        var a = "<%=getAnyou()%>";
        k.document.getElementById(
"txtanyou").Text = a;
        window.close();
   
    }

      <script language="javascript" type ="text/javascript" > 

   
</script> 
getAnyou()是B页面后台的一个public方法。代码如下:
C# code

    public string getAnyou()
    {
       
string str = "";

       
for (int i = 0; i < cbAnyou.Items.Count; i++)
        {
           
if (this.cbAnyou.Items[i].Selected)
            {
                str
= str+ this.cbAnyou.Items[i].Value.ToString () + "";
            }

        }

       
//txt.Text = str;

       
return (str);

    }


  原来在测试页面试过这种调用都没问题,但在这个程序中调用getAnyou有个奇怪问题,返回的str都是为空。如果在getAnyou直接写成 return "xxxxxxx" ,就可以。这是为什么呢?循环语句应该没问题,跟踪过了。求高手阿
TOP

js脚本调用前台函数的奇怪问题

return str;
TOP

js脚本调用前台函数的奇怪问题

k.document.getElementById("txtanyou").Text = a;
========
   k.document.getElementById("txtanyou").value = a;
TOP

js脚本调用前台函数的奇怪问题

返回的是“”?  还是 带  ”;;;;;;“
TOP

js脚本调用前台函数的奇怪问题

加断点 看看 你的 for循环 走不走
再看看 str 的值
TOP

js脚本调用前台函数的奇怪问题

你后台断点调试一下看看return之前的代码是不是出问题了。没有赋给str正确的值。

for (int i = 0; i < cbAnyou.Items.Count; i++)

if (this.cbAnyou.Items[i].Selected)
里面的代码是不是压根就没运行过
TOP

js脚本调用前台函数的奇怪问题

楼主
两个对方需要改下

   public string getAnyou()
   {
      

       for (int i = 0; i < cbAnyou.Items.Count; i++)
       {
           if (this.cbAnyou.Items[i].Selected)
           {
               str =” +this.cbAnyou.Items[i].Value.ToString () + ";
           }

       }

      
       return str;

   }


k.document.getElementById("txtanyou").value = a;
TOP

js脚本调用前台函数的奇怪问题

我试过alert(a),都是空值,连 ;都没带

原来就是用 return str 的,后面才加了括号
TOP

js脚本调用前台函数的奇怪问题

return (str) 还是return str?
TOP

js脚本调用前台函数的奇怪问题

刚开始用 return str,后来用 return (str)  结果一样

现在奇怪的是 弹出的B页面一直处于打开状态,IE都快死了,只好停止调试。代码都没怎么变动阿,从page load开始跟踪,也没发现什么错误,就是不能完全打开B页面。。。。.NET真是捉弄人阿,快疯了
TOP

js脚本调用前台函数的奇怪问题

return str
TOP

js脚本调用前台函数的奇怪问题

死循环?
TOP

js脚本调用前台函数的奇怪问题

请问 yanimaziba ,这句你没写清楚阿
   str =” +this.cbAnyou.Items[i].Value.ToString () + ";

TOP