0

私は ddl を持っていて、このような値をバインドしています。

    List<ClassB> myobject =new List<ClassB>();
    myddl.DataSource = myobject;
    myddl.DataTextField = "X";
    myddl.DataValueField = "Y";
    myddl.DataBind();

public class ClassB: ClassA
{ 
}

public class ClassA
{  
    public string X; 
    public string Y; 
}

X と Y は myobject のプロパティではありませんが、myobject の基本クラスのパブリック プロパティであり、myobject を使用する必要があります

X と Y はリストのプロパティではないというエラーが表示されます。

誰にもアイデアはありますか?

4

1 に答える 1

0

読み取り/書き込みプロパティとして定義する必要がありXます。Y以下は、動作するコードサンプルです。

public partial class WebForm1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        List<ClassB> myobject = new List<ClassB>();
        myobject.Add(new ClassB() { X = "1", Y = "2" });
        myobject.Add(new ClassB() { X = "3", Y = "4" });
        myddl.DataSource = myobject;
        myddl.DataTextField = "X";
        myddl.DataValueField = "Y";
        myddl.DataBind();
    }
}

public class ClassB : ClassA
{
}

public class ClassA
{
    public string X { get; set; }
    public string Y { get; set; }
}
于 2013-02-20T09:07:52.297 に答える