1
如何获取内容类型的子内容类型?获取内容类型的子内容类型
从here我了解到,所有的子内容类型都有contentTypeId,以父母的ID开头。所以,我试图使用链接中的建议方式。
让我告诉你,我第一次尝试:
using (var site = new SPSite(SPContext.Current.Site.ID))
{
using (var web = site.RootWeb)
{
SPContentTypeId ctId = new SPContentTypeId(MasterContentTypeId);
SPContentType masterCt = web.ContentTypes[ctId];
var queryString = string.Empty;
queryString += "<Where>";
queryString += "<BeginsWith>";
queryString += "<FieldRef Name='ContentTypeId'/>";
queryString += "<Value Type='Text'>";
queryString += MasterContentTypeId;
queryString += "</Value>";
queryString += "</BeginsWith>";
queryString += "</Where>";
SPSiteDataQuery query = new SPSiteDataQuery { Query = queryString };
DataTable dt = web.GetSiteData(query);
DataView dv = new DataView(dt);
foreach (DataRow row in dt.Rows)
{
//Do Something Necessary
}
}
}
,但没有行的DataTable的回报。
这是正确的方式来做到这一点,但有一些缺失或错误;还是我做这一切都错了?