if (txtStatus.Text != "未考")
        {
            Page.RegisterStartupScript("showalert", "<script>alert(\"请先确定考卷状态,只有“未考”的试卷才可以进行考试!\")</script>");
        }
        else
        { 
            //准备进行答卷
              这里增加js的confirm()判断用户是否同意开始,问题是怎么得到客户端点击的是或者否,根据用户点击的状态进行程序控制?        }

解决方案 »

  1.   

    Page.RegisterStartupScript("showalert", "<script>return confirm('请先确定考卷状态,只有“未考”的试卷才可以进行考试!');</script>");
      

  2.   

    txtStatus.Attributes.Add("onfocus",...)
      

  3.   

    请注意else这里已经是“未考”状态的考卷了,在这里进行判断:
    if(confirm('请准备答卷,如果您还没有准备好,请点击取消按钮!'))
    {
       ...do something(这里要写入数据库)
    }
      

  4.   

    实际上,要使"if confirm(...)"后边的脚本能够执行页面回发,需要使用 GetPostBackEventReference 这个方法自动生成这段代码。你自己google一下“GetPostBackEventReference”的用法。也可以简单化一下(尽管不太直接,但是适合凑合着看),就是可以在一个Button的OnClientClick中输进行Confirm判断(同样可以google到很多例子),并且在你的程序中改为:        if (txtStatus.Text != "未考")
            {
                Page.RegisterStartupScript("showalert", "<script>alert(\"请先确定考卷状态,只有“未考”的试卷才可以进行考试!\")</script>");
            }
            else
            { 
                //准备进行答卷
                  这里增加js的confirm()判断用户是否同意开始,问题是怎么得到客户端点击的是或者否,根据用户点击的状态进行程序控制?
                Page.RegisterStartupScript("showalert", "<script>"+theButton.ClientID+.click;</script>");
            }即页面显示时直接执行按钮的click事件。当然,还可以更直观地设计。使用MultiView,将页面上特定区域变为两个可切换的,第一个就是这个“判断”。实际上,需要多步骤的界面,例如点击“下一步、上一步”来导航的界面,都可以使用Multiview控件来设计。(当然为了提高性能,有人使用动态加载组件的方法)
      

  5.   

    当浏览器执行<script>....</script>时, 说明服务器已经处理完请求并将请求的结果发送到客户端了, 此时已经与服务器没有任何关系.
    一味的使用asp.net来解决所有的问题, 有时会勉为其难
    楼主可以考试使用Ajax