asp.net 用户控件之间事件互相调用方法 转

这个网上找了好久只找到两个方法, 这个试了成功了, 也简单,  具体正规的方法应该怎么做, 我也不清楚, 实际项目中用户控件用得多么?  现在只是糊里糊涂的用着

转自http://jackyrong.javaeye.com

"

在asp.net 2.0中,要在不同的web控件之间互相调用,必须要<%@ Reference VirtualPath="另一控件名称“>
来引用,举例如下


default.aspx:

顶上加这两句

 
  
<% @ Register Src = " ~/WebUserControl1.ascx " TagName = " WebUserControl " TagPrefix = " uc1 " %>

<% @ Register Src = " ~/WebUserControl2.ascx " TagName = " WebUserControl2 " TagPrefix = " uc2 " %>

下面是

 
  
< form id = " form1 " runat = " server " >
< uc1:WebUserControl id = " WebUserControl1 " runat = " server " >
       </ uc1:WebUserControl >
 
< uc2:WebUserControl2 ID = " WebUserControl2_1 " runat = " server " />
</ form >


我们要实现的是,按下控件1的按钮后,将在控件2的文本框中显示出指定的文本

在首页里,分别调用了控件1和控件2


webcontrol.ascx:
 
  
<% @ Control Language = " C# " AutoEventWireup = " true " CodeFile = " WebUserControl.ascx.cs " Inherits = " WebUserControl " %>

<% @ Reference VirtualPath = " ~/WebUserControl2.ascx " %>

< asp:Button ID = " Button1 " runat = " server " OnClick = " Button1_Click " Text = " Button " />


这里放置一个按钮,然后用reference来引用控件2
webcontrol.ascx.cs:

 
  
protected void Button1_Click( object sender, EventArgs e)
{

WebUserControl2 w
= Page.FindControl( " WebUserControl2_1 " ) as WebUserControl2;
w.Text
= " Hello all! " ;

}



对于控件2:

 
  
<% @ Control Language = " C# " AutoEventWireup = " true " CodeFile = " WebUserControl2.ascx.cs " Inherits = " WebUserControl2 " %>

< asp:TextBox ID = " TextBox1 " runat = " server " ></ asp:TextBox >

控件2的codebehind代码:

 
  
public partial class WebUserControl2 : System.Web.UI.UserControl
{
protected void Page_Load( object sender, EventArgs e)
{

}
public string Text
{

set { TextBox1.Text = value; }

}


}

"

里面的Page.FindControl如果使用出错的话请看下一篇文章

转载于:https://www.cnblogs.com/ndxsdhy/archive/2011/03/15/1985268.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值