您的位置:首页 > Web前端 > JavaScript

关于用户自定义控件与引用该控件的页面之间的javascript脚本冲突

2005-03-12 13:22 471 查看
        前几天为客户做WEB系统的时候,需要在每个页面的header 上面加个“退出系统”的连接;而且要有确认对话框。一般就是通过添加“ this.LinkButton.Attributes.Add("OnClick","javascript:return confirm('您确定要退出系统吗?')") ”脚本。然而由于在主页面也有相类似的提示框,所以在Framwork1.1下可能会出现“htmlfile:指针无效”,然后整个页面无法加载CSS样式。

        这里给出了个解决的办法,具体的看下面:

1--可以将自定义控件的子控件(与javascript相关连,如 LinkButton LbnQuit)定义成 public属性

2--在引用该控件的页面添加 对该自定义空间的引用,如:

   public bankofchina.userContorl.header Header1;

   该自定义在html文件中的定义为:

   <uc1:header id="Header1" runat="server"></uc1:header>

   这样我们就像定义了一个类似WebControl的控件。

  

3--在引用该控件的页面里面添加这么一条语句:

   Header1.LbnQuit.Attributes.Add("OnClick","javascript:return confirm('您确信要退出系统?');");

4--由于上面的事件给LbnQuit定义了个点击该控件便弹出对话框的功能,这时候如果用户“确认提示”,应该能继续

   做下面的事情,例如:

   Session.Clear();//window.opener=null;

   Session["class"]="-1";  

   //Response.Write("<script language=javascript>self.close();</script>");//这个不能添加的

   为了让上面的能够执行下去,我们可以定义一个单击事件

   private void LbnQuit_Click(object sender, System.EventArgs e)

小结:

    经过上面的几个步骤,我们就可以实现如下流程的功能:

    页面显示该控件-->单击该控件-->弹出确认对话框-->确认提示--->执行定义的事件处理函数-->结束

                                                    │                                                                               ↑

                                                     ---------------取消确认-----------------------------------

   

    本来想设置它为 public static,然后在Application_Start()里 初始话这个LinkButton.但是编译通不过,想知道怎么解决.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐