サイトをスキャンして、すべてのコンテンツをカタログ化しようとしています。これを行うには、私はする必要があります
- すべてのビューを検索します (おそらくコントローラー/アクションの組み合わせとして)
- すべてのビューを文字列にレンダリングする
自分のサイトをクロールするために、このサイトマップ プロバイダーを実装しました。したがって、次のようなxmlファイルがあります。
<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0"
enableLocalization="false">
<mvcSiteMapNode title="Home" controller="Home" action="Index"
changeFrequency="Always" updatePriority="Normal">
<mvcSiteMapNode title="Dashboard" controller="Home" action="Dashboard"/>
<mvcSiteMapNode title="My Profile" controller="Profile" action="MyProfile"/>
<mvcSiteMapNode title="My Jobs" controller="Profile" action="MyJobs"/>
</mvcSiteMapNode>
</mvcSiteMap>
linq-to-xml を使用してリストに変換できます。
RenderViewToString共通アプローチを使用して、各ビューを文字列に変換するつもりでした。
残念ながら、特定のビューを文字列にレンダリングする場合は、これの方がうまく機能します。特定のモデル/コントローラーが事前にわからない場合。
結論として、コントローラーとアクションの名前を文字列として持つだけの文字列にビューをレンダリングする方法はありますか?