• Microsoft .NET
  • ASP.NET
  • Создание динамического пользовательского интерфейса ASP.NET, управляемого данными

Использование RSS-ленты в MVC ASP.NET

В этой статье создается приложение MVC, использующее RSS-ленту (обогащеной сводка сайта).

Введение

В этой статье описано создание приложения MVC, использующего RSS-ленту. Следуйте этим шагам.

Выберите папку "Контроллеры", затем

нажмите правую кнопку мыши и щелкните мышкой по Controller, как показано ниже. 

Нажмите Add, и будет создан класс RssFeedController, как показано ниже. Класс SyndicationFeed из System.ServiceModel.Syndicatation упрощает работу с RSS-лентой. Код ниже использует RSS-ленту с сайта weblogs.asp.net для отображения сетевых журналов asp.net на странице.

 using System.ServiceModel.Syndication;        // добавляем ссылку на System.ServiceModel.Web.dll
public class RSSFeedController : Controller
{
        public ActionResult RSSFeed()
       {
          string strFeed = "%22%22%22%22http://weblogs.asp.net/aspnet-team/rss.aspx%22%22%22%22">http://weblogs.asp.net/aspnet-team/rss.aspx";
          using (XmlReader reader = XmlReader.Create(strFeed))
         {
                  SyndicationFeed rssData = SyndicationFeed.Load(reader);
                 return View(rssData);
         }
     }
}

Повторите вышеуказанный шаг 2, и добавьте представление RSSFeed в папку Views\RSSFeed. Добавьте следующий код в представление RSSFeed.

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<SyndicationFeed>" %> 
<%@ Import Namespace="System.ServiceModel.Syndication"%>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
RSSFeed
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>RSSFeed</h2>
<% foreach (var item in ViewData.Model.Items)
{
string URL = item.Links[0].Uri.OriginalString;
string Title = item.Title.Text;
Response.Write(string.Format("<p><a href=\"{0}\"><b>{1}</b></a>", URL, Title));
Response.Write("<br/>" + item.Summary.Text + "</p>");
} %>
</asp:Content>

Теперь вы можете запустить проект, и он отобразит rss-ленту с сайта weblogs.asp.net, как показано ниже.

Вывод

В данной статье было создано приложение RSS-лента, использующее пространство имен System.ServiceModel.Syndicatation (синдикация).