快速业务通道

ascx访问aspx页面的两种方法

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-04-12

1)Asp.net服务器控件结构有点如同dom的树结构,是有层次的。然后this.parent.

如下ascs中的按钮代码:

  private void btnShow_Click(object sender, System.EventArgs e)
  {
   ((Button)sender).Parent.Parent.FindControl("btnContorl").Visible=true;
  }

  private void Button1_Click(object sender, System.EventArgs e)
  {
   this.Parent.FindControl("btnContorl").Visible=false;
  }

 

2)种方法用事件,刚aspx的方法作为参数传入ascx中,这样个不相关的对象可以通讯,且方法中可以执行各自

类的变量及方法。(通用,即便是没有结构,或类的层的关系,也可以)

aspx中的代码:

  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   //注册用户控件事件
   this.WebUserControl11.LogInOutClick +=new LogInOutClickHandler(WebUserControl11_LogInOutClick);
  }

  private void WebUserControl11_LogInOutClick(object sender, EventArgs e)
  {
   Button button1 = (Button)sender;
   switch(button1.Text)
   {
    case "show":
     this.Button1.Visible = true;
     break;
    case "hide":
     this.Button1.Visible = false;
     break;
   }

  }

****************************************************

ascx中的代码

 // 定义代理
 public delegate void LogInOutClickHandler(object sender,System.EventArgs e);

 public class WebUserControl1 : System.Web.UI.UserControl
 {
  protected System.Web.UI.WebControls.Button Button1;
  protected System.Web.UI.WebControls.Button Button2;
  public event LogInOutClickHandler LogInOutClick;
 

  private void OnLogInOutClick(object sender,System.EventArgs e)
  {
   if(LogInOutClick!=null)
    LogInOutClick(sender,e);
  }
  private void Button1_Click(object sender, System.EventArgs e)
  {
   OnLogInOutClick(sender,e);
  }

  private void Button2_Click(object sender, System.EventArgs e)
  {
   OnLogInOutClick(sender,e);
  }

对于aspx访问ascx更简单了,

方法如下。将ascx定义为public或protect即可,

如是  webControl objwebControl;
objwebControl.Method();
objwebControl.I;
(((TextBox)objwebControl.FindControl("TextBox1")).Text="abc";)

或objwebControl.Controls["0"].; 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号