我怎么能得到一个文本框的值位于一个控件到另一个控件
本文关键字:控件 于一个 另一个 文本 一个 怎么能 | 更新日期: 2023-09-27 18:10:35
我有两个控件- ProductInfo和Distribution。
在产品信息控件上有这些文本框- txtPrice, txtDate, txtfrequency在分布控件上,我想获得上述文本框的值。I tried:
BasePage.FindControl("txtPrice")
但是它返回null。请帮助。
谢谢,
我将在ProductInfo控件中创建属性以公开txtPrice的值,如下所示:
public decimal Price
{
get { return Decimal.Parse(txtPrice.Text); }
}
然后在另一个用户控件中,尝试这样做:
ProductInfo prod = Page.FindControl("OtherUserControl") as ProductInfo;
if (prod != null)
{
decimal price = prod.Price;
}
递归方法您可能需要使用递归来查找ProductInfo
控件,如果您这样做应该可以工作:
private Control FindControlRecursive(string controlID, Control parentCtrl)
{
foreach (Control ctrl in parentCtrl.Controls)
{
if (ctrl.ID == controlID)
return ctrl;
FindControlRecursive(controlID, ctrl);
}
return null;
}
使用FindControlRecursive
:
ProductInfo prod = FindControlRecursive("OtherUserControl", Page) as ProductInfo;
if (prod != null)
{
decimal price = prod.Price;
}