我正在从以下事件中访问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#不喜欢语法,有人可以帮我这个吗?
答案 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"];