2012-03-28 29 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

のように必要な名前空間を追加してください? –

答えて

3

..

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

今ラインを交換

MyUserControlInstance.chkList.Items.Count 
MyUserControlInstance.GetLength


- これはあなたのユーザーコントロールの名前が認識作業する必要があります...あなたのParentPageの分離コードでは、され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(); } 
} 
関連する問題