asp.net-mvc – 用于局部视图的ASP.NET MVC 3控制器操作
发布时间:2020-05-24 14:15:52 所属栏目:asp.Net 来源:互联网
导读:我是MVC的新手,我不明白如何正确使用部分视图.我正在尝试在我的MVC应用程序中显示来自博客站点的RSS源.我正在使用Razor,我有以下结构: Controllers/HomeController.csControllers/RssController.csViews/Home/Index.cshtmlShared/_Layout.cshtmlShared/_Rss.
|
我是MVC的新手,我不明白如何正确使用部分视图.我正在尝试在我的MVC应用程序中显示来自博客站点的RSS源.我正在使用Razor,我有以下结构: 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>
我的困惑是如何调用控制器动作来获取局部视图? 解决方法您需要调用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的局部视图. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 实体框架与存储过程
- 通过Asp.net中Button的CommandArgument传递多个参数
- asp.net – 模型在表单发布到控制器时始终为NULL
- asp.net-mvc-3 – ASP.Net MVC 3:在html.DropDownListFor中
- 在Asp.net mvc中应该有服务层吗?
- asp.net – 调用RenderSection两次?
- asp.net – Visual Studio需要Windows 7中提升的权限
- ASP.NET:请求cookie对于域名为null?
- asp.net-mvc – 使用默认控制器的ASP.NET MVC路由
- 在asp.net mvc中的RedirectToAction用法
推荐文章
站长推荐
- asp.net – #Eval if语句在中继器
- 如何在ASP.NET中使用HtmlGenericControl创建一个
- asp.net-mvc-3 – 如何在带有剃刀的asp.net mvc3
- asp.net – .NET Core WebAPI OpenIdDict(凭据流
- 如何为高使用率的ASP.NET应用程序重新平衡SQL Se
- asp.net – 如何关闭.NET站点进行维护?
- asp.net-mvc-4 – 如何通过MVC4 upshot上传相关实
- asp.net – 从ASP .Net应用程序上传大文件
- asp.net – 表单认证ReturnUrl和子域名用于单点登
- asp.net – IIS7:服务应用程序池“YYYYY”的进程
热点阅读
