내가 (내가 엔터프라이즈 라이센스가없는 나는이 OOTB 부분을 사용할 수 없습니다)을 SharePoint
사이트에 대한 간단한 RSS/Atom
수집기는 WebPart를 만들려고, 초보자 C#
프로그래머입니다 다시 나타났다 유지한다. 사용자로부터 URI
를 받아 피드를 표시하는 라벨을 구성하고 모든 표시 해제 this.Controls;
레이블
- 새로운 피드 :
나는 3 개 버튼이 피드 (에서 제거)
- 기본 피드 기본값을
URIs
으로 가져 와서 라벨로 변환합니다 (this.Controls
에도 추가).
피드를 삭제하면 기본값으로 되돌릴 수 있습니다. 그러나 모든 피드를 지우고 새 피드를 추가 한 후에도 기본값이 추가됩니다 (한 번에 하나의 새 피드 만 추가 할 수 있으며 새 피드는 이전 버전을 덮어 씁니다). 나는 이것이 컨트롤 추가/제거 기능을 완전히 이해하지 못하기 때문에 이것이 의심 스럽다. 코드는 다음과 같습니다.
ArrayList viewedFeeds = new ArrayList();
ArrayList defaultFeeds = new ArrayList(); //Contains several default feeds, e.g. BBC news (http://feeds.bbci.co.uk/news/rss.xml)
private void newFeed_Click(object sender, EventArgs e)
{
renderFeed(userText.Text);
}
private void clearFeeds_Click(object sender, EventArgs e)
{
clearAllFeeds();
}
private void defaultFeeds_Click(object sender, EventArgs e)
{
clearAllFeeds();
initialiseFeedViewer();
}
private void clearAllFeeds()
{
foreach (Label feed in viewedFeeds)
{
this.Controls.Remove(feed);
}
viewedFeeds.Clear();
}
private void initialiseFeedViewer()
{
foreach (string uri in defaultFeeds)
renderFeed(uri);
}
private void renderFeed(String uri)
{
try
{
Label feed = new Label();
// Create a Syndicated feed reader, parse the XML and add the relevant text to the label "feed"
feed.BorderStyle = System.Web.UI.WebControls.BorderStyle.Double;
viewedFeeds.Add(feed);
this.Controls.Add(feed);
}
catch (Exception ex)
{
//Print an error message (e.g. If the URI does not link to a suitable feed
}
}
'Label'에'Name' 속성이없는 것 같습니다. 이것이 'WebControl.Label'이라는 것을 증명합니까? 'ArrayList'에 대해 감사 드려요.'Java' 모드로 붙어 있습니다. – Landric
Visual Studio에서 호출 계층 구조를 확인한 결과,'initialiseFeedViewer()'는 두 번의 호출 만 볼 수 있습니다. 하나는 프로그램의 시작 부분과 '기본 피드'버튼을 클릭하면됩니다. – Landric
흠, label.Name 대신 label.ID를 시도하십시오. – Odnxe