gpt4 book ai didi

asp.net-mvc - 部分 View 的 ASP.NET MVC 3 Controller 操作

转载 作者:行者123 更新时间:2023-12-02 13:25:11 24 4
gpt4 key购买 nike

我是 MVC 新手,我不明白如何正确使用部分 View 。我正在尝试在我的 MVC 应用程序中显示来自博客网站的 RSS 提要。我正在使用 Razor,并且具有以下结构:

Controllers/HomeController.cs
Controllers/RssController.cs

Views/Home/Index.cshtml

Shared/_Layout.cshtml
Shared/_Rss.cshtml

家庭 Controller :

 namespace MvcApp.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";

return View();

}

}
}

Rss Controller :

namespace MvcApp.Controllers
{
public class RSSFeedController : Controller
{

public ActionResult RssFeed()
{
string strFeed = "http://foo.wordpress.com/category/foo/feed/";

using (XmlReader reader = XmlReader.Create(strFeed))
{
SyndicationFeed rssData = SyndicationFeed.Load(reader);

return View(rssData);
}
}

}
}

_Rss.cshtml:

@using System.ServiceModel.Syndication;
@using System.Text;
@using System.Xml.Linq;

<h2>RSSFeed</h2>
@foreach (var item in ViewData.Model.Items)
{
string URL = item.Links[0].Uri.OriginalString;
string Title = item.Title.Text;
StringBuilder sb = new StringBuilder();
foreach (SyndicationElementExtension extension in item.ElementExtensions)
{
XElement ele = extension.GetObject<XElement>();
if (ele.Name.LocalName == "encoded" && ele.Name.Namespace.ToString().Contains("content"))
{
sb.Append(ele.Value + "<br/>");
}
}
Response.Write(string.Format("<p><a href=\"{0}\"><b>{1}</b></a>", URL, Title));
Response.Write("<br/>" + sb + "</p>");
}

_Layout.cshtml:

<div id="main">
@RenderBody()
</div>
<div id="BlogContent">
@Html.Partial("_Rss");
</div>

我的困惑是如何调用 Controller 操作来获取部分 View ?

最佳答案

您需要调用 PartialView 而不是 View,修改后的操作如下所示:

    public ActionResult RssFeed()
{
string strFeed = "http://foo.wordpress.com/category/foo/feed/";

using (XmlReader reader = XmlReader.Create(strFeed))
{
SyndicationFeed rssData = SyndicationFeed.Load(reader);

return PartialView(rssData);
}
}

然后您需要有一个名为 RssFeed 的部分 View 。

关于asp.net-mvc - 部分 View 的 ASP.NET MVC 3 Controller 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7274831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com