C# 如何从objectdatasource获取数据集列值

C# 如何从objectdatasource获取数据集列值,c#,.net,webforms,detailsview,C#,.net,Webforms,Detailsview,我已经很久没有使用webforms了,我忘记了如何访问底层数据以获取列值,以便将特定产品的当前请求设置为页面标题 我在webforms页面上有一个detailsview,我需要获取一个名为Title的列的值 我该怎么做呢 我确信这是因为我在页面加载事件中 有什么建议吗 protected void Page_Load(object sender, EventArgs e) { DataSet ds = GetDS(this.ObjectDataSourceItem); if

我已经很久没有使用webforms了,我忘记了如何访问底层数据以获取列值,以便将特定产品的当前请求设置为页面标题

我在webforms页面上有一个detailsview,我需要获取一个名为Title的列的值

我该怎么做呢

我确信这是因为我在页面加载事件中

有什么建议吗

   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;
}
我的错误是无效的强制转换异常

以下是我的错误快照:


访问基础对象“我的自定义对象名称”项的正确方法

   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;
}
私有项GetItem(ObjectDataSource ods)
{
项目itm=null;
object[]iObjs=(object[])ods.Select();
for(int i=0;i
来自:
ObjectDataSource.Select
不必返回
DataView
类型。从方法签名中,它返回一个
IEnumerable
。从调试器屏幕截图中,可以看到它是一个对象数组。您只需要在数组中进行迭代,就可以得到隐藏在数组下面的值。

您能为我们提供一段代码吗?为此,我需要知道对象数组中存在哪些特定类型。首先,您可以在Page_Load:
var data=this.ObjectDataSourceItem.Select()中尝试此操作;变量类型=数据[0]。GetType()你在类型中发现了什么?我知道你在做什么,这就是我最终得到答案的方式。在你的帮助下,我终于能够得到它,但是是的,GetType()是一种获取类型的巧妙方法。