2009-08-05 12 views
1

ちょっと、みんな、私のASP:RadioButtonListに少し問題があります。GoogleとSOを検索しました。あなたは私を助けてくれますか?ASP:RadioButtonList Databindカスタムオブジェクト

データバインディングに問題があります。私はこのようになりますカスタムクラスを持っている:

public class myClass{ 
    public myInnerClass{ 
    public int myID; 
    public String myTextField; 
    /* other fields*/ 
    } 
    public List<myInnerClass> myList; 
} 

そして、私はそれのジェネリックリストをバインドしようとしているがradiolistへの内部クラスです:

protected void Page_Load(object sender, EventArgs e){ 
    myClass data = anotherClass.getData(); 
    uxRadioList1.DataSource = data.myList; 
    uxRadioList1.DataTextField = "myTextField"; 
    uxRadioList1.DataValueField = "myID"; 
    uxRadioList1.DataBind(); 
} 

しかし、それだけではないだろう行く。 DataTextFieldとDataValueFieldフィールドを指定しないとバインドされますが、 'myClass + myInnerClass'が表示されます。どのようにこれを正しく行うのですか?

+0

"しかし、それだけでは行かない"ということはあまり説明的ではありません。 DataTextFieldとDataValueFieldを指定するとどうなりますか? – womp

+0

なぜネストされたクラスですか?それを取り除くだけで、問題ははるかに少なくなります。 –

答えて

4

あなたは公共のプロパティにのみバインドできますが、フィールドにはバインドできないと思います。プロパティにmyInnerClassのフィールドを変更してみてください:

public class myClass{ 
    public myInnerClass{ 
    public int myID { get; set; } 
    public String myTextField { get; set; } 
    /* other fields*/ 
    } 
    public List<myInnerClass> myList; 
} 
+0

正確に、上にスポット! –

関連する問題