asp.net-mvc – ASP.NET MVC中的动态网站地图
|
我正在尝试创建一个自动网站地图ActionResult,以输出有效的sitemap.xml文件。实际生成的文件不是一个问题,但我似乎不知道如何填充URL的系统中的列表。这里是我到目前为止的代码: public ContentResult Sitemap()
{
XNamespace xmlns = "http://www.sitemaps.org/schemas/sitemap/0.9";
XElement root = new XElement(xmlns + "urlset");
//some kind of foreach here to get the loc variable for all URLs in the site
//for each URL in the collection,add it to the root element as here
//root.Add(
// new XElement("url",// new XElement("loc","http://google.com"),// new XElement("changefreq","daily")));
using (MemoryStream ms = new MemoryStream())
{
using (StreamWriter writer = new StreamWriter(ms,Encoding.UTF8))
{
root.Save(writer);
}
return Content(Encoding.UTF8.GetString(ms.ToArray()),"text/xml",Encoding.UTF8);
}
}
例如,假设我有两个控制器,每个控制器有两个与它们相关的动作: HelpController >编辑 AboutController >公司 我似乎不知道如何得到一个URL列表像: > http://localhost/help/edit 解决方法我发布了一个自己做的答案下面。但这里是一个包,它开箱即用的MVC网站:http://mvcsitemap.codeplex.com/(< - 旧网站,但有广泛的文档!) https://github.com/maartenba/MvcSiteMapProvider/wiki(< - 移动到新网站,缺少一些文档,而不是活动) 注意它做了很多事情: 所有上述点均由您编辑和配置的单个mvc.sitemap XML文件控制。我已经使用这个在一些项目现在做2或3的以上点。有它所有可配置在1个地方,并动态生成,是真的很好。 虽然我发现创建动态数据提供者的能力有点麻烦(并严重违反任何类型的IoC你希望做),它确实得到工作完成和缩放,一旦你绕过他们的缓存和使用自己的。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 构建成功,但发布失败
- asp.net-mvc – ASP.Net MVC和WebAPI加密
- asp.net – 为jQuery寻找一个好的数据网格插件
- Asp.net web API日期时间格式
- asp.net – 如何禁用viewstate的aspx页面?
- asp.net-web-api – owin cors或web api cors
- asp.net-core – Razor模板中的特殊字符未正确编码
- asp.net-mvc – @Model和@model之间的区别
- asp.net-mvc – 通过删除空格打破我的calc语句的MVC捆绑?
- Modular Web Application with ASP.NET Core
- asp.net – 如何在MVC 5中为OwinContext设置Time
- asp.net – 在我的网站中添加HttpModule时出现“
- asp.net-mvc – 用VB.net 2008开始ASP.NET MVC
- asp.net-mvc – 在asp.net mvc中启动一组未选中的
- asp.net-mvc – ASP.NET MVC安全检查表
- asp.net – InvalidOperationException:在程序集
- asp.net-mvc – ASP.NET MVC模型/ ViewModel验证
- ASP.NET Web应用程序本地化的最佳实践
- .net – 优雅的foreach – 在Razor构建
- asp.net-mvc – 如何在ASP.NET MVC中创建旋转广告
