Для выполнения задачи мне нужно загрузить несколько элементов из нескольких XML-документов (RssReader), а затем отобразить случайные 4 элемента на странице. Я уже сделал весь код, единственная проблема в том, что на странице отображаются те же 4 элемента, если я устанавливаю ловушку в отладчике в представлении / контроллере, все загружается правильно. Я не знаю, в чем может быть проблема, это мое начало в ASP.NET для всех подсказок к коду, большое спасибо!
Просмотр кода:
<table class="table">
@foreach (var item in Model)
{
<tr>
<td>
@item.Title
</td>
<td>
@item.PubDate
</td>
</tr>
}
</table>
Код модели:
public class RssItem
{
public string Title { get; set; }
public string PubDate { get; set; }
}
Код контроллера:
public class PortfolioController : Controller
{
// GET: Portfolio
public ActionResult Index()
{
var linkList = new List<string> {
"https://news.google.com/rss?hl=pl&gl=PL&ceid=PL:pl",
"https://news.google.com/rss?hl=pl&gl=PL&ceid=PL:pl",
"https://news.google.com/rss?hl=pl&gl=PL&ceid=PL:pl",
"https://news.google.com/rss?hl=pl&gl=PL&ceid=PL:pl"
};
List<RssItem> rssItems = new List<RssItem>();
List<RssItem> randomRSS = new List<RssItem>();
foreach (string linkRss in linkList)
{
XElement xml = XElement.Load(linkRss);
var query = xml.Descendants("item").Select(item =>
new RssItem
{
Title = item.Element("title").Value,
PubDate = item.Element("pubDate").Value,
}).ToList();
foreach (var item in query)
{
rssItems.Add(item);
}
}
for (int i = 0; i < 4; i++)
{
Random random = new Random();
int randomInt = random.Next(rssItems.Count);
randomRSS.Add(rssItems[randomInt]);
}
return View(randomRSS);
}
}
Без ловушек в отладчике:
С учетом ловушек и контроллера (режим отладчика):