我使用ObjectDataSource控件来调用MapInfo对象。该对象有两个属性:
select方法返回IList,但也会填充TotalAvailable属性。我已将ObjectDataSource中的TypeName设置为MapInfo对象,但由于Select方法仅返回IList,因此我无法访问TotalAvailable。
[DataObject(true)]
public sealed class MapInfo
{
private IList<Visit> visits;
private int totalCount;
public IList<Visit> Visits
{
get
{
if (visits == null)
visits = new List<Visit>();
return visits;
}
set
{
visits = value;
}
}
[DataObjectMethod(DataObjectMethodType.Select)]
public IList<Visit> GetAccountVisits(DateTime startdate, DateTime enddate, string orgids, int reportlevel,
string username, int authlevel, bool visited, bool notvisited, string accounttypeid)
{
}
有没有办法访问此值。我知道它正在MapInfo对象中填充,但从Select方法返回的所有内容都是IList
答案 0 :(得分:0)
数据源在选择发生后触发Selected事件;您可以尝试查看它是否在那里公开了根对象。
HTH。
答案 1 :(得分:0)
我已将SelectMethod的返回类型更改为:
[DataObjectMethod(DataObjectMethodType.Select)]
public MapInfo GetAccountVisits(DateTime startdate, DateTime enddate, string orgids, int reportlevel,
string username, int authlevel, bool visited, bool notvisited, string accounttypeid)
{
在CreateChildControls方法的CompositeDataBoundControl中,我然后使用:
DataBinder.Eval(((object[])(dataSource))[0], "Visits");
虽然会欣赏更优雅的解决方案。