如何从DetailsView DataItem属性中获取值

时间:2011-02-25 16:08:06

标签: c# asp.net

我正在从以下事件中访问DetailsView

 public void dvDetails_DataBound(Object sender, EventArgs e)

我正在将发件人投射到我的详情视图

DetailsView dv = (DetailsView)sender;

现在当我查看“dv”时,我可以看到DataItem属性在字段名下有我想要的数据,但我不知道如何编写代码访问值?

字段名称在dataitem属性中显示为“_DTMON_F”,我试着说

Datetime myDate=dv.DataItem["_DTMON_F"]

但是C#不喜欢语法,有人可以帮我这个吗?

3 个答案:

答案 0 :(得分:1)

这取决于您的DetailsView的数据源。在SqlDataSource的情况下,DataItem将是DataRowView。你必须施放它,然后你可以访问它的列。例如:

Datetime myDate=(DateTime)((DataRowView)dv.DataItem)["_DTMON_F"];

答案 1 :(得分:0)

也许是投射问题?

DateTime myDate=(DateTime)dv.DataItem["_DTMON_F"];

如果数据源是数据库,则可能需要使用转换。

答案 2 :(得分:0)

DataRowView drv = dv.DataItem as DataRowView;
DateTime myDate = (DateTime)drv["_DTMON_F"];