我的站点上有一个控制器,它处理未知操作并返回一个视图(如果存在)。这样就可以将静态内容添加到站点的这个特定区域,而无需修改控制器。我现在面临的问题是创建一个包含指向所有这些“未知”视图的链接的 sitemap.xml 文件。从生成站点地图的方法中枚举这些静态内容视图的最佳方法是什么?
下面的代码显示了我正在为未知操作做什么:
protected override void HandleUnknownAction(string actionName)
{
GetUnknownActionResult(actionName).ExecuteResult(ControllerContext);
}
[NonAction] //public so it is testable
public ActionResult GetUnknownActionResult(string actionName)
{
var result = View(actionName);
if (result.ViewEngineCollection.Any(engine => engine.FindView(ControllerContext, result.ViewName, null, true).View != null))
{
return result;
}
return new HttpNotFoundResult();
}