1

サイトをスキャンして、すべてのコンテンツをカタログ化しようとしています。これを行うには、私はする必要があります

  1. すべてのビューを検索します (おそらくコントローラー/アクションの組み合わせとして)
  2. すべてのビューを文字列にレンダリングする

自分のサイトをクロールするために、このサイトマップ プロバイダーを実装しました。したがって、次のような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共通アプローチを使用して、各ビューを文字列に変換するつもりでした。

残念ながら、特定のビューを文字列にレンダリングする場合は、これの方がうまく機能します。特定のモデル/コントローラーが事前にわからない場合。

結論として、コントローラーとアクションの名前を文字列として持つだけの文字列にビューをレンダリングする方法はありますか?

4

2 に答える 2

1

Asp.NET の外部でビューをレンダリングする方法を示すRick Strahlの最近の投稿があります。投稿を考えると、それは非常に単純に見え、目的を検索するためにファイルまたは文字列を書くことができます。見てください!

于 2013-07-30T18:48:10.060 に答える