我需要从数据表创建一个objectdatasource。我目前有一个生成数据的方法:
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"};
答案 0 :(得分: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();
}
}
}