ASP.NET MVC 3 contrôleur d'action pour la vue partielle
Je suis nouveau sur MVC et je ne comprends pas comment utiliser les vues partielles correctement. J'essaie d'afficher les flux RSS à partir d'un site de blog dans mon application MVC. Je suis en utilisant le Rasoir et je avoir la structure suivante:
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:
<div id="main">
@RenderBody()
</div>
<div id="BlogContent">
@Html.Partial("_Rss");
</div>
Ma confusion est de savoir comment dois-je appeler le contrôleur d'action pour l'obtention de la vue partielle?
Je pense que vous êtes à la recherche pour le code Html.RenderAction ou quoi que ce soit au Rasoir...
OriginalL'auteur user686924 | 2011-09-01
Vous devez vous connecter pour publier un commentaire.
Vous devez être l'appel de la
PartialView
plutôt que la Vue, voici comment une modification de l'action devrait ressembler à:Vous devez avoir une vue partielle appelé
RssFeed
.OriginalL'auteur jim tollan
ou
(sans point-virgule)
Tout ce que vous définissez dans ViewData dans votre action, se reflète dans une variable de Modèle dans la vue, même si elle est partielle. Je veux dire, c'est indépendant de la page d'hôte et l'hôte de la page du modèle, il a "sa propre vie".
OriginalL'auteur Ofer Zelig