Sharepoint 2010使用列表自定义列进行数据绑定
我有一个自定义的SPlist,其中包含一些字段,我想将这些字段绑定到可视化web部件中的转发器。我不能使用SPDataSource,因为我必须在绑定之前对列表进行一些自定义操作 如何以这种方式绑定自定义列?当我在自定义列上使用Eval时,我得到一个错误 如果我使用数据源进行测试,它将再次工作Eval(“HoursOfOperation”):Sharepoint 2010使用列表自定义列进行数据绑定,sharepoint,sharepoint-2010,Sharepoint,Sharepoint 2010,我有一个自定义的SPlist,其中包含一些字段,我想将这些字段绑定到可视化web部件中的转发器。我不能使用SPDataSource,因为我必须在绑定之前对列表进行一些自定义操作 如何以这种方式绑定自定义列?当我在自定义列上使用Eval时,我得到一个错误 如果我使用数据源进行测试,它将再次工作Eval(“HoursOfOperation”): 但是,如果使用以下代码,数据绑定时会出现错误:“Microsoft.SharePoint.SPListItem”不包含名为“HoursOfOperati
但是,如果使用以下代码,数据绑定时会出现错误:“Microsoft.SharePoint.SPListItem”不包含名为“HoursOfOperation”的属性。
SPSite site = SPContext.Current.Site;
SPWeb web = site.RootWeb;
SPQuery query = new SPQuery();
query.ViewFieldsOnly = true;
query.Query = string.Concat(
"<Where><Eq>",
"<FieldRef Name='CBC'/>",
"<Value Type='Boolean'>0</Value>",
"</Eq></Where>"
);
SPList list = web.Lists["Locations"];
SPListItemCollection items = list.GetItems(query);
rp.DataSource = list;
rp.DataBind();
SPSite site=SPContext.Current.site;
SPWeb=site.RootWeb;
SPQuery query=新建SPQuery();
query.ViewFieldsOnly=true;
query.query=string.Concat(
"",
"",
"0",
""
);
SPList list=web.list[“位置”];
SPListItemCollection items=list.GetItems(查询);
rp.DataSource=list;
rp.DataBind();
我在这里遗漏了什么?好的,我自己发现了:
对于非索引属性,您需要将dataitem强制转换为SPListItem并按名称获取属性
<%# ((SPListItem)Container.DataItem)["HoursOfOperation"] %>
<%# ((SPListItem)Container.DataItem)["HoursOfOperation"] %>