asp.net 用户控件直接取值

如:有用户控件header、affiche,

在affiche中获取header的值(前提这些值必须public)

在affiche.cs中加入

多个属性值:

Page p = this.Parent.Page; UserControl uc = p.FindControl("header1") as UserControl;       
Type pageType = uc.GetType();
FieldInfo[] myFields = pageType.GetFields(BindingFlags.Public  | BindingFlags.Instance);

for (int i = 0; i < myFields.Length; i++)
{
            Response.Write(string.Format("The value of {0} is: {1}", myFields[i].Name, myFields[i].GetValue(uc)));
}

单个属性值:

Page p = this.Parent.Page;
UserControl uc = p.FindControl("header1") as UserControl;      
Type pageType = uc.GetType();
 FieldInfo field = pageType.GetField("cityId", BindingFlags.Public | BindingFlags.Instance);
if (field != null)
 {
            CityId = field.GetValue(uc).ToString();
}

posted @   94cool  阅读(257)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
< 2011年5月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4
5 6 7 8 9 10 11
点击右上角即可分享
微信分享提示