2012-03-28 57 views
0
父頁

一個Web用戶控件從元素值我有一個包含一個CheckBoxList的Web用戶控件。獲取從

MyListControl:

<asp:checkboxlist id="chkList" runat="server"> 
    <asp:listitem id="option1" runat="server" value="Madrid" /> 
    <asp:listitem id="option2" runat="server" value="Oslo" /> 
    <asp:listitem id="option3" runat="server" value="Lisbon" /> 
</asp:checkboxlist> 

我希望確認的形式父頁面上之前提交檢查哪些項目。我希望它會像這樣工作:

myParentPage:

MyUserControlInstance.chkList.Items.Count 

如何一個參考從父頁面的用戶控制的控制?

+0

這應該是工作......在你的ParentPage的代碼隱藏,是你的用戶控件的名稱識別? – 2012-03-28 20:27:08

回答

3

封裝的財產在你的代碼控制的背後..

public int GetLength 
{ 
    get 
    { 
     return CheckListBox.Items.Cast<ListItem>().Where(
            i => i.Selected).ToList().Count; 
    } 
} 

現在更換線

MyUserControlInstance.chkList.Items.Count 

MyUserControlInstance.GetLength


注意 - 請添加必要的命名空間像System.Collections.GenericSystem.Linq

2

我會公開此信息作爲用戶控件的公共屬性,只返回必要的信息,如:

using System.Collections.Generic; 
using System.Linq; 

// ... 

public IList<string> CheckedValues 
{ 
    get { return chkList.Items.Cast<ListItem>().Where(i => i.Selected).Select(i => i.Value).ToList(); } 
}