我在做一个c#的网上选课系统的时候,对于选课先输入课程号后要到数据库中点击提交(按钮,web控件)后检查有没有先行课,如果有希望出现一个弹出框,提示“该课程有先行课是否要选?”然后确定,但这个弹出框不知道怎么实现。
   开始我用js的函数,但是好像对于要到服务器端检查数据库的没办法做,或是我没找到怎么做
后来用this.Button1.Attributes.Add("onclick","return confirm('此课堂要收取艺术课费用,坚持选吗?')")的时候总是按按钮一下不出现,第二次才出现。我又不能把它放到page_load中,我开始放到Botton_click()中,显然不行,后来我放到前面输入的TextBox的TextBox_TextChanged()函数中实现,也不行没招了
望大虾帮忙解决!!

解决方案 »

  1.   

    为什么不能放在Page_Load中啊
    事件一般都在那加啊
      

  2.   

    如果是因为要事先做判断的话可以把判断写到javascript里啊
      

  3.   

    this.Button1.Attributes.Add("onclick","return confirm('此课堂要收取艺术课费用,坚持选吗?')")
    这个放到page_load中是可以,但我还有其他的判定条件,比如说时间冲突,我试过放到page_load中去,那一点击按钮则老是这一个弹出框了
      

  4.   

    如果用js的话,比如说写几个函数,比如说confirm1,confirm2,confirm3
    然后后台
    这样
    if(HasChoosen)
    this.Button1.Attributes.Add("onclick","return confirm1()");
    else if(ArtCourse)
    this.Button1.Attributes.Add("onclick","return confirm2()");
    else if(TimeCollision)
    this.Button1.Attributes.Add("onclick","return confirm3()");
    这样的话也还是只执行第一句,另外如果不是第一个条件也执行第一个,是不是用这个Attributes.Add
    函数就一直和控件在一起了?要用完后close或remove吗?
    它是点击时触发吗?但是这样的话为什么在点击第二次才触发?高手指点下。
      

  5.   

    换个解决方法
    IF ... TRUE THEN
    .....
    ELSE
    MESSAGE.TEXT="<script>if (confirm('确认吗?')){document.form.btnPop.click();}else{}</script>"; 也就是说你不要把判断的语句加给那个BUTTON而是加给一个LABEL,注意要把那个LABEL的VIEWSTATE关掉