我得到了一个DataFormWebPart,正如我们所知道的,他创建了一个我们通常在xsl中获得的xml,如下所示:
<xsl:template match="/" >
<xsl:for-each select="/dsQueryResponse/Rows/Row">此外,假设我们想在XML中添加其他内容,我们将这样做。
public override void DataBind()
{
this.sourceDoc = new ChannelsDFWP_XmlCreator().CreateXmlDoc(-ChannelsDAL.DAYSDELTA);
this.BindXmlData();
}现在,如果我们只想要一些额外的对撞机,我们会这样做
protected override void ModifyXsltArgumentList(ArgumentClassWrapper argList)
{
argList.AddParameter("name", string.Empty, value);
base.ModifyXsltArgumentList(argList);
}现在我想在中间做一些事情,我想要默认情况下得到的相同的XML结果,并像这样扩展如下
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(the same xml as the DFWP renders it);
XmlNode root = _ xmlDoc.CreateElement("anotherNode");然后全部归还。你可能会因为这个
var xml = Lists.ChannelsCategories.Instance.GetList(SPContext.Current.Site.RootWeb).Items.Xml;但是这带来了一个完全不同(更丑陋)的XML。如果你能告诉我XSL在哪里,把它转换成我们所知道的,我也会很高兴:)
太棒了!
发布于 2013-11-07 16:58:03
答案是这是不可能的。
但是有希望-- SharePoint:AggregateDataSource为我做了这份工作,因为我的其他数据都在另一个列表中。
基本上,SharePoint:AggregateDataSource接受IDataSource,我猜(并希望尝试),您可以在那里添加各种数据,并使用正确的类。
下面是一些更多的信息,http://bresleveloper.blogspot.co.il/2013/11/dataformwebpart-add-data-to-xml.html
https://stackoverflow.com/questions/19795834
复制相似问题