不明なアクションを処理し、存在する場合はビューを返すコントローラーがサイトにあります。これは、コントローラーを変更することなく、静的コンテンツをサイトのこの特定の領域に追加できるようにするためです。私が今直面している問題は、これらすべての「不明な」ビューへのリンクを含む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();
}