还是昨天的那个程序,只是问题变了,哈。点击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" ,就可以。这是为什么呢?循环语句应该没问题,跟踪过了。求高手阿