Je suis nouveau sur MVC et je ne comprends pas comment utiliser correctement les vues partielles. J'essaie d'afficher les flux RSS à partir d'un site de blog dans mon application MVC. J'utilise Razor et j'ai la structure suivante:Action du contrôleur ASP.NET MVC 3 pour une vue partielle
Controllers/HomeController.cs
Controllers/RssController.cs
Views/Home/Index.cshtml
Shared/_Layout.cshtml
Shared/_Rss.cshtml
HomeController:
namespace MvcApp.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
}
}
RssController:
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:Ma confusion est comment puis-je appeler l'action du contrôleur pour obtenir la vue partielle?
Je pense que vous cherchez Html.RenderAction ou quoi que ce soit dans Razor ... – dotjoe