0

我需要从数据表创建一个对象数据源。我目前有一个生成数据表的方法:

static DataTable GetTableForDropDown()
    {

        DataTable dt = new DataTable();
        DataRow dr = null;
        dt.Columns.Add(new DataColumn("DurationType", typeof(string)));

        dr = dt.NewRow();
        dr["DurationType"] = "Hours";
        dt.Rows.Add(dr);

        dr = dt.NewRow();
        dr["DurationType"] = "Days";
        dt.Rows.Add(dr);

        dr = dt.NewRow();
        dr["DurationType"] = "Weeks";
        dt.Rows.Add(dr);

        dr = dt.NewRow();
        dr["DurationType"] = "Months";
        dt.Rows.Add(dr);
        return dt;
    }

我需要创建和 objectdatasource 并将其加载到其中。我发现很少的文档或如何做到这一点。我找到了下面的代码来尝试转换它,但是当我尝试它时它只是抛出一个错误。

var edgeDataSource = new ObjectDataSource(
            "MyNamespace.MyClass, MyNamespace.MyClasss, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ce8ab85a8f42a5e8",
            "GetTableForDropDown") {ID = "EdgeDataSource"};
4

1 回答 1

1

你可以尝试的是这个(为了简单起见,我把它放在一个文件中)

namespace MyNamespace
{
    public class MyClassData
    {
        public string DurationType { get; set; }
    }

    public class MyClass
    {
        public List<MyClassData> GetTableForDropDown()
        {
            List<MyClassData> myList = new List<MyClassData>();
            myList.Add(new MyClassData { DurationType = "Hours" });
            myList.Add(new MyClassData { DurationType = "Days" });
            myList.Add(new MyClassData { DurationType = "Weeks" });
            myList.Add(new MyClassData { DurationType = "Month" });
            return myList;
        }
    }

    public partial class WebForm18 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            var edgeDataSource = new ObjectDataSource("MyNamespace.MyClass", "GetTableForDropDown");
            var x = edgeDataSource.Select();
        }
    }
}
于 2013-10-08T05:26:08.847 回答