Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 将datatable转换为objectdatasource_Asp.net_Datatable_Radgrid_Objectdatasource - Fatal编程技术网

Asp.net 将datatable转换为objectdatasource

Asp.net 将datatable转换为objectdatasource,asp.net,datatable,radgrid,objectdatasource,Asp.net,Datatable,Radgrid,Objectdatasource,我需要从datatable创建objectdatasource。我目前有一个方法,可以生成一个datatble: static DataTable GetTableForDropDown() { DataTable dt = new DataTable(); DataRow dr = null; dt.Columns.Add(new DataColumn("DurationType", typeof(string)));

我需要从datatable创建objectdatasource。我目前有一个方法,可以生成一个datatble:

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"};

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

名称空间MyNamespace
{
公共类MyClassData
{
公共字符串DurationType{get;set;}
}
公共类MyClass
{
公共列表GetTableForDropDown()
{
List myList=新列表();
添加(新的MyClassData{DurationType=“Hours”});
添加(新的MyClassData{DurationType=“Days”});
添加(新的MyClassData{DurationType=“Weeks”});
添加(新的MyClassData{DurationType=“Month”});
返回myList;
}
}
公共部分类WebForm18:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
var-edgeDataSource=newobjectdatasource(“MyNamespace.MyClass”、“GetTableForDropDown”);
var x=edgeDataSource.Select();
}
}
}
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();
        }
    }
}