我在后台的一个事件里写了几个check代码,check每一个时,弹出一个对话框,选yes的话,继续往下check,选no的话退出。
有什么好的办法,谢谢了

解决方案 »

  1.   

    试一下:
    this.RegisterStartupScript("ok", "<script>javascript:window.onload=function(){return confirm('yes/no?');}</script>");
      

  2.   

    要把哪个window.onload事件改一下
      

  3.   

    如果原本是一个过程,你要区分多个阶段,那么可以参考帖子《在服务器端返回confirm的结果。为什么要postback两次?》中我写了一段demo代码。实际上,这往往是一个只会写数据库编程的人写客户端程序时的通病。客户端软件开发要以可以客户端设计为准,因此,一个操作如果需要多个客户端交互步骤才能执行,它一定需要在界面设计时就首先设计好多个交互界面,例如MultiView、CreateUserWizart等控件直接直至多步操作界面设计,(或者你自己抛开asp.net而重新发明一个WizardStep控件)。就算一个步骤需要10步,设计界面的人它会专注于设计从1到2、2到3....9到10、以及最终的第10步之后,每一步骤时的界面显示,然后在一个页面上预先把10个步骤都加载或者动态地LoadControl下一个步骤的控件。总之,写客户端程序的前提是多理解客户端程序设计方法的细节,而写后台程序的人如果不去重新理解客户端技术遇到asp.net的WebForm交互功能这种比WinForm交互要复杂得多的界面编程就会更加犯难。
      

  4.   

    当你写一个程序来完成一个确定的步骤的时候,写    this.RegisterStartupScript("ok", " <script>javascript:window.onload=function(){return confirm('yes/no?');} </script>");肯定会让逻辑严谨的人感到茫无头绪。因为一个确定的交互步骤要保证交互性,它要是到了下一个步骤如何准确地承接上一个步骤然后才编码,而不是仅仅显示一个confirm而已。
    实际上,在面我引用的帖子中,我的回复只是就事论事地“解决”眼前问题而已,因此很笨拙地使用了一个Button来承接confirm之后的步骤的操作。在我实际开发的时候,我可以允许任何后台程序一旦遇到发觉信息不足的情况就可以抛出异常,而不用去管confirm的问题。而客户端程序设计者要“预先”掌握和设计好多步交互时的界面代码,例如使用MultiView来组织,甚至这种需要简单的confirm,这也应该在客户端界面设计时预先设计出来控制方法和界面。而如果在你编写后台处理程序的时候临时发觉需要许多交互,那么你很可能是平常开发客户端程序时忽视了客户端编程技术优先于后台编程技术这个原则。
      

  5.   

    Up
    check每一个时,弹出一个对话框
    弹太多了容易让人反感哦