2011-10-05 43 views

回答

1

我将创建一个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; 
} 
相关问题