Razorで次のようなことを行うことは可能ですか?
@using(Html.CMSContent("TermsOfService"))
{
<text>
<!-- Some default content goes here if the "TermsOfService"
item doesn't exist in my content table in the database -->
</text>
}
ビューが処理されているときに、CMSContentヘルパーが、設定したデータベーステーブルで「TermsOfService」という名前のコンテンツアイテムを見つけられない場合、デフォルトのコンテンツを出力します。
それ以外の場合は、デフォルトのコンテンツがデータベースの内容に置き換えられますか?
マーケティング部門が必要に応じてアプリのテキストを上書きできるように、CMS/アプリケーションハイブリッドを構築しようとしています。
明らかにする
私がこれを行う理由は、コードの読み取りと書き込みを非常に簡単にするためです。私はあちこちでこれらの小さなコンテンツブロックになってしまうので、この機能を取得するために開発者が入力しなければならない量を最小限に抑えたいと思っています。
また、99%の確率で、デフォルトのテキストが表示されることを期待しています。ただし、アプリを再デプロイせずにテキストをすばやく変更する必要がある1%のケースを処理してもらいたいと思います。したがって、デフォルトのテキストをコンテキストにできるだけ近づけることが重要です(つまり、開発者がデフォルトのテキストを確認するために別のファイルにジャンプしたり、先頭にジャンプしたりする必要はありません。ページ)。
たとえば、これを行う@using(Html.BeginForm())
と、開始タグと終了タグが自動的に発行され<form>
ます。私はそのような賢い何かを望んでいます。