奇怪的showModalDialog!

今天在修改项目时发现了一个问题:一个button按钮,点击以后打开一个模式窗体,从中选择学生的信息,关闭模式窗体后返回根据返回的学生的编号,在数据库中查找学生的信息,并显示出来,这是按钮的js代码
<script language="javascript">
        
var selectStudentPage="<%=SelectStudentPage%>"
        
var split="<%=this.SplitStr%>";
    
function SetStudent(idAndName)
    
{
        
if(idAndName==null || idAndName=="")
        
{
            
return ;
        }

        
var options=idAndName.split(split);
        document.all.studentName.value
=options[1];
        document.all.txtStudentID.value
=options[0];
    }

    
    document.all.btnSelectStudent.onclick
=function()
    
{
        
var id=ShowModalDialog(selectStudentPage,400,600,"","SetStudent","");
        
if(id!=null)
        
{
            __doPostBack('btnSelectStudent','')
            
return false;
            
//return true;
        }

        
else
        
{
            
return false;
        }

    }

        
</script>
这是后台的cs代码
private void btnSelectStudent_Click(object sender, System.EventArgs e)
        
{
            
this.studentID = int.Parse(this.txtStudentID.Value);

            BindStudentInfo(studentID);
        }
开始测试的时候并没有什么问题,一切正常,后来快要交付项目了才有同事在无意中发现了一个问题,就是在弹出选择学生的模式窗体时,第一次能正常显示,正确的执行js事件和后台的代码事件,而事件回传以后再次点击选择学生的按钮时,模式窗体死活不显示,也没有任何错误,一个人找了半天也没有找出问题的所在,发动同事一块儿寻找,,最后才发现原来是存放模式窗体的路径的变量selectStudentPage因为事件回传的缘故,原来的值丢掉了,打开模式窗体的时候传过去的路径是一个空字符串,知道了原因后,自然问题迎刃而解,开始又有新的问题,既然ShowModalDialog打开的是一个空的字符串,为什么不报错误,或者显示一个空白窗体呢?!
posted @ 2007-05-08 14:54  梅子黄时雨  阅读(301)  评论(1编辑  收藏  举报