zoukankan      html  css  js  c++  java
  • 在内容页中调用母版页控件、响应控件消息(用户控件、服务器控件有所不同)

    原文发布时间为:2009-11-13 —— 来源于本人的百度文章 [由搬家工具导入]

    总结来源百度贴吧

    在内容页中调用母版页控件
    在内容页中有个属性Master,可以通过它访问母版页。如我们要修改母版页上的标题,我们看到显示标题的那个Label的ID为Label1,在Page_Load事件中增加以下代码:

    protected void Page_Load(object sender, EventArgs e)

    {

    if (!IsPostBack)

    ((Label)Master.FindControl("Label1")).Text = "标题被修改了!";

    }     /*本人注: 有一句HtmlGenericControl divlinks = (HtmlGenericControl)Page.Master.FindControl("links");   这里的HtmlGenericControl好像是表示Html一般控件?

    运行看一下标题是否被修改。

    2、是服务器控件或者凡是runat=server的控件,其ClientID在页面输出后,都跟在设计时不一样了。例如有个

    <input type="text" id="txtName" runat="server" />

    但输出后,却变成了

    <input type="text" id="ctl00_Main_txtName" />

    如果你原本在javascript里如下引用:document.getElementById("txtName");现在多半找不到了。可以沿用ASP的做法:

    document.getElementById("<%=txtName.ClientID%>");


    3、内容页要访问母版页上的控件不象同一页那么方便。

    需要用Page.Master.FindControl();的方式,例如,

    TextBox txt = (TextBox)Page.Master.FindControl(“txtName”);

    假如要访问的控件是用户控件,这样写

    MyCtrl myctrl = (MyCtrl)Page.Master.FindControl(“MyCtrl1”);

    多半会编译出错,说缺乏MyCtrl的定义。原因是该控件在母版页上声明:

    <%@ Register Src="myCtrl.ascx" TagName="myCtrl" TagPrefix="uc1" %>

    一般情况下在内容页就不用再声明了。但如果要访问它就不同,也要在内容页的头部加上这一句。并没有重复声明的麻烦。

    4、要支持在母版页上的控件事件怎么办?

    比如说,我要在内容页支持我自己写的用户控件MyCtrl(在母版页)的OnClick事件该怎么办?总不能将代码写在母版页吧?

    别忘了,事件本质是委托,我们只要在内容页添加对该事件的委托就行了。

    以前1.1的时候,代码页面有Page_Init事件的代码,可2.0就不知道跑哪去了。幸而自己加上去也有效:

    protected void Page_Init(object sender, EventArgs e)

    {

    MyCtrl myctrl = (MyCtrl)Page.Master.FindControl(“MyCtrl1”);

    if (myctrl != null)

    {

    myCtrl.Click += new MyCtrl.ClickEventHandler(MyCtrl1_Click);

    }

    }

    转自:http://blog.csdn.net/sendling/archive/2008/07/11/2637281.aspx

  • 相关阅读:
    Windows8 Metro界面下的StreamSocket连接服务器
    使用CSS控制文字溢出
    Javascript中的恒等运算符与等于运算符的区别
    Sqlserver 中删除表数据的两种方式与区别
    Linux C++ 遇到的错误
    四、Vue Router 设置动态路由
    六、Vue Router 嵌套路由
    一、Vue Router 的使用
    三、Vuex Getter
    五、Vuex Action
  • 原文地址:https://www.cnblogs.com/handboy/p/7158373.html
Copyright © 2011-2022 走看看