【发布时间】:2015-07-26 09:29:34
【问题描述】:
我不确定如何在 MVC 中执行此操作,在普通代码中我只会在循环中迭代并编写项目,但我在 MVC 中迷失了这样做。在这个程序中,我正在阅读来自魔兽世界网站的 RSS 提要。 我有这个方法:
public ActionResult Bar()
{
List<string> temat = new List<string>();
List<string> podpis = new List<string>();
List<DateTime> czas = new List<DateTime>();
string url = "http://eu.battle.net/wow/en/feed/news";
using (XmlReader reader = XmlReader.Create(url))
{
SyndicationFeed feed = SyndicationFeed.Load(reader);
foreach (SyndicationItem item in feed.Items)
{
String subject = item.Title.Text;
String summary = item.Summary.Text;
DateTime date = item.PublishDate.DateTime;
temat.Add(subject);
podpis.Add(summary);
czas.Add(czasy);
}
}
reader.Close();
ViewBag.tytul = temat;
ViewBag.opis = podpis;
ViewBag.c = czas;
return PartialView("_Bar");
}
在我的 partialView 中,我可以像这样从 ViewBag 获取每个项目:
<div class="row">
@foreach (var o in ViewBag.opis)
{
<p>@Html.Raw(@o)</p>
}
</div>
但我需要像这样迭代:
“list1”中的“item1”=>“list2”中的“item1”=>“list3”中的“item1” => "list1" 中的 "item2" => ETC...
我不知道如何在此视图中执行此操作,有人可以帮助我吗?
【问题讨论】:
-
你是什么意思“在普通代码中”?
ViewBag.opis是什么?您指的是哪些列表? -
@StephenMuecke 当然我忘了添加viewbags。对不起。 VieBag.opis 是 list
,其中包含摘要项。 “普通代码”是指 C# 中的代码,在我的 foreach 循环中,而不是在视图中。我不是母语人士,所以它可能被称为不同。 -
对我来说,您应该使用模型而不是 ViewBag。您可以在整个 viewbag 中进行迭代,但您需要将其转换为某种类型——它是一种动态类型——在运行时解析的类型。所以你可以迭代,但你没有智能感知。
标签: c# asp.net-mvc asp.net-mvc-4 foreach partial-views