LoveCherry

技术无极限

博客园 首页 新随笔 联系 订阅 管理
  192 Posts :: 0 Stories :: 3239 Comments :: 656 Trackbacks

比如在页面中有一个用户控件,用户控件想得到页面中某Label的值(这个Label不在这个用户控件内)怎么做?

((Label)((System.Web.UI.Page)System.Web.HttpContext.Current.Handler).FindControl("test")).Text

(页面中的Label ID="test")

得到页面的其他控件同样道理

posted on 2005-04-11 15:09 lovecherry 阅读(3085) 评论(11) 编辑 收藏

Feedback

#1楼 2005-04-12 09:21 paladin
这样这个用户用户控件对另一个用户控件的偶合性太强了吧

而且语句这样写也存在潜在错误,如果System.Web.HttpContext.Current.Handler).FindControl("test")为null,那么就会发生异常(吹毛求疵了:>)

 回复 引用   

#2楼[楼主] 2005-04-12 09:35 lovecherry      
呵呵,是的
 回复 引用 查看   

#3楼 2005-04-13 15:33 scorpion
如果是动态装载用户控件呢?
那要如何获得这个值呢?

Crotrol test =Page.LoadControl("ViewSearch.ascx");
PlaceHolderInfo.Controls.Add(test);

 回复 引用   

#4楼[楼主] 2005-04-13 16:39 lovecherry      
如果你是动态加载用户控件的,这操作是在页面进行的,所以也没有必要用这个实现这个功能了
 回复 引用 查看   

#5楼 2005-05-21 18:23 MOMO
請問

this.Label1.Text = ((Label)Page.FindControl("test")).Text;

這樣的寫法跟您寫的是差在什麼地方呢?小弟不才^^"

 回复 引用   

#6楼[楼主] 2005-05-21 20:04 lovecherry      
你这里的page是用户控件而不是包含用户控件的页面
 回复 引用 查看