#39;正在寻找可以在列表中查询RSS提要URL的Sharepoint Web部件,然后显示它

时间:2011-11-23 21:57:50

标签: sharepoint rss web-parts

基本上我有一个List将由用户维护,其中包含一个包含RSS源链接的字段。

我尝试使用OOTB RSS,这很棒,但您必须指定供稿网址,我需要根据用户选择。例如,用户将从列表中选择他们想要查看的提要,这应该将他们带到提要阅读器页面,该页面将使用他们的选择来获取提要URL并在页面上显示。

2 个答案:

答案 0 :(得分:0)

不是一般的Sharepoint解决方案的替代方法是使用jquery。

列表中是否显示列表,或者它只是“Sharepoint中的列表?”

当然,如果将rss-feeds放在另一台服务器上,您可能需要某种代理来执行此操作。但是你会将性能发送给客户端而不是服务器,这是一个加号..

答案 1 :(得分:0)

我的解决方案是使用WebPartPages网络服务(SaveWebPart)更改网络部件的定义,以便在点击Feed时使用新的Feed网址。

我创建了一个javascript函数,它将接受供稿网址并进入显示供稿的页面。在您下次访问该页面之前,不会加载新的Feed,因此如果您已经在该页面上,则需要重新加载,因此需要重定向。

有关请求格式和Web部件XML格式的详细信息,请参阅以下页面。 http://msdn.microsoft.com/en-us/library/ms774839%28v=office.12%29.aspx

function SetFeed(feedURL){

var webPartGUID = $("#<WebPartID>").attr('webpartid');  

    // This is where you set the page URL, Full Web Part XML (including path to FEED), 
    // storageKey (webPart GUID), and storage type (none, personal, shared)
var soapEnv = "<FULL SOAP XML>";


jQuery.ajax({
    url: "http://<SITE PATH>/_vti_bin/WebPartPages.asmx",
    type: "POST",
    dataType: "xml",
    data: soapEnv,
    beforeSend: function(xhr) {
        xhr.setRequestHeader("SOAPAction",
        "http://microsoft.com/sharepoint/webpartpages/SaveWebPart")
    },
    complete: function(xData, status){
        window.location='REDIRECT TO FEED PAGE';
    },
    contentType: "text/xml;charset='utf-8'"
  });
}