如何从对象数据源获取数据集列值
How to get dataset column value from objectdatasource
自从我使用网络表单以来已经很久了,我忘记了如何访问基础数据以获取列值,以便我可以将特定产品的当前请求设置为页面标题.
我在网络表单页面上有一个详细信息视图,我需要获取名为 Title 的列的值。
我应该怎么做?
我确定是因为我参加了 Page_Load 活动。
有什么建议吗?
protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = GetDS(this.ObjectDataSourceItem);
if (ds != null)
{
string title = ds.Tables[0].Columns["Title"].ToString();
this.Page.Title = title;
}
}
private DataSet GetDS(ObjectDataSource ods)
{
DataSet ds = new DataSet();
DataView dv = (DataView)ods.Select();
if (dv != null && dv.Count > 0)
{
DataTable dt = dv.ToTable();
ds.Tables.Add(dt);
}
return ds;
}
我的错误是无效的转换异常。
这是我的错误的快照:
获取底层 object 的正确方法,我的自定义 object 名称项目。
private Item GetItem(ObjectDataSource ods)
{
Item itm = null;
object[] iObjs = (object[])ods.Select();
for (int i = 0; i < iObjs.Length; i++)
{
itm = (Item)iObjs[i];
}
return itm;
}
来自MSDN:
ObjectDataSource.Select
不必 return 是 DataView
类型。从方法签名来看,它 return 是一个 IEnumerable
。从调试器屏幕截图中,您可以看到它是一个对象数组。您只需遍历数组即可获得隐藏在下方的值。
自从我使用网络表单以来已经很久了,我忘记了如何访问基础数据以获取列值,以便我可以将特定产品的当前请求设置为页面标题.
我在网络表单页面上有一个详细信息视图,我需要获取名为 Title 的列的值。
我应该怎么做?
我确定是因为我参加了 Page_Load 活动。
有什么建议吗?
protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = GetDS(this.ObjectDataSourceItem);
if (ds != null)
{
string title = ds.Tables[0].Columns["Title"].ToString();
this.Page.Title = title;
}
}
private DataSet GetDS(ObjectDataSource ods)
{
DataSet ds = new DataSet();
DataView dv = (DataView)ods.Select();
if (dv != null && dv.Count > 0)
{
DataTable dt = dv.ToTable();
ds.Tables.Add(dt);
}
return ds;
}
我的错误是无效的转换异常。
这是我的错误的快照:
获取底层 object 的正确方法,我的自定义 object 名称项目。
private Item GetItem(ObjectDataSource ods)
{
Item itm = null;
object[] iObjs = (object[])ods.Select();
for (int i = 0; i < iObjs.Length; i++)
{
itm = (Item)iObjs[i];
}
return itm;
}
来自MSDN:
ObjectDataSource.Select
不必 return 是 DataView
类型。从方法签名来看,它 return 是一个 IEnumerable
。从调试器屏幕截图中,您可以看到它是一个对象数组。您只需遍历数组即可获得隐藏在下方的值。