問題タブ [razorgenerator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - スタンドアロン アセンブリとしての Web 管理パネル
現在、MVC ベースの Web 分析システムに取り組んでいます。開発中に、Web 管理パネルを別のアセンブリに抽出するという良い考えが浮かびました。他の私のプロジェクトで使用するためのものです。したがって、将来的には、そのアセンブリを参照するだけで、レイアウト Web パネルを気にする必要はありません。
Web パネル自体は、タイトなデザインの要素の単なるマークアップです。メインメニュー、サブメニュー、および必要なその他の要素を詰め込む場所が含まれています。
現時点では、RazorGenerator を使用して、そのようなパネル内のすべてのビューを含むアセンブリを取得しています。
問題は、そのようなアセンブリの css ファイルをどのように管理できるかです。それらをビューにインライン化し、そのビューをコンパイルされたアセンブリに配置するか、アセンブリを含む個別の css ファイルとして展開する必要がありますか?
その css バンドルは、最終プロジェクトで圧縮/最小化されるか、何らかの方法で結合されます。
c# - C# ファイルの生成に T4 の代わりに RazorGenerator を使用するにはどうすればよいですか?
Visual Studio の T4 機能の代わりにhttp://razorgenerator.codeplex.com/を使用して、ソリューションのコード モデルに基づいて C# ファイル/クラスを自動生成したいと考えています。T4 で EnvDTE を使用してこれを成功させましたが、T4 よりも保守が容易でサポートが優れているものを使用したいと考えています。
経由でテンプレート ジェネレーターを使用してみまし@* Generator: Template *@たが、その出力は、Execute必要なテンプレート化された c# クラスを生成する関数を含む C# クラスです。C# の出力をソリューションに直接取り込むにはどうすればよいですか?
asp.net-mvc-3 - MVC3 アプリの _ViewStart.cshtml で _Layout と部分ビューを指定できますか?
いくつかの MVC3 Web アプリケーションのスイートがあり、そのすべてが共通の Core.dll を参照しています。RazorGenerator を使用して一般的なビューをコンパイルしました。サブスクライブ サイトは、事前にコンパイルされた .dll から関連するビューを問題なく見つけます。
レイアウト ページでも同じことをしようとしています。これはすべてのサイトに共通しているため、その特定のサイトに固有の 1 つまたは 2 つの div を保存します。これを行うだけで _layout ビューが提供される限り、これも問題なく機能します。
しかし、レイアウトでサイト固有の div を取得するには、特定のサイトで部分的なビューを表示し、JQuery を使用して _layout でプレースホルダー div の HTML を設定します。何かのようなもの:
私はこれを試しましたが、_ViewStart はすべての投稿で再起動しません。これは別のアプローチを使用して可能ですか?
c# - RazorGenerator PrecompiledMvcEngine は、アセンブリ全体で部分ビューまたはエディター テンプレートを見つけることができません
MVC エリアごとに 1 つのプロジェクトに分割された大規模な MVC 4 サイトがあります。RazorGenerator を使用して、展開用にすべてのビューをプロジェクト アセンブリにプリコンパイルしPrecompiledMvcEngine、ViewEngine.
Shared別のアセンブリからのビューを共有したい新しいエリアを作成しましたがInvalidOperationException、部分ビューを見つけようとすると、DisplayTemplates または EditorTemplates のいずれも見つからないようです。
この質問で説明されている問題に似ていると思います。
RazorGenerator App_Start の私のコードは次のようなものです:
のような Area2 内のビューで部分参照に遭遇すると@Html.Partial("Partials/Footer")、例外が発生します。Razor が正しいパスを探しているようです
のソース コードを見るとPrecompiledMvcEngine、アセンブリ内のビューのみを検索しているように見えます。
私は当初、ビュー システムがパスを解決しようとするときに、登録されているすべての ViewEngine を調べると考えていましたが、それは間違った仮定のようです (そうしない理由もわかります)。
複数のアセンブリ間でビューを共有する方法はありますか?
アップデート
PrecompiledMvcEngineコンストラクターでアセンブリのリストを受け取るカスタム バージョンを作成することで、この問題を回避しました。コアの変更は次のとおりです。
このアプローチのより良い代替案や落とし穴はありますか?
c# - 外部かみそりビューは外部モデルを見ることができません
外部かみそりビューに問題があります。私のプロジェクトでは、メインの mvc Web アセンブリと、独自のコントローラー、ビュー、およびモデルを使用して (DB から) 外部クラス ライブラリ アセンブリを動的に読み込みました。これらのアセンブリは、実行時に直接参照および読み込まれることはありません。
ビュー用のカスタム仮想パス プロバイダーであるコントローラー用のカスタム コントローラー ファクトリを作成することで、システム全体を機能させることができました。ビューは、外部アセンブリに埋め込まれたリソースです。
私が抱えている問題は、外部アセンブリからモデル クラスを使用して厳密に型指定された外部ビューを作成すると、アセンブリがかみそりコンパイラに渡されないため、実行時にビューをコンパイルできないことです。したがって、次のエラーが表示されます。
コンパイラ エラー メッセージ: CS0234: 型または名前空間名 'MyPlugin' が名前空間 'MyNamespace' に存在しません (アセンブリ参照がありませんか?)
ソース エラー:
動的モデル、メイン Web アセンブリのモデル クラス、または Web プロジェクトで直接参照されているアセンブリのモデル クラスを使用すると、問題なく動作します。私のコントローラーは問題なく動作するため、外部のカミソリビューがコンパイルされる前に外部アセンブリが読み込まれることは確かです。
外部ビューをプリコンパイルするために RazorGenerator プロジェクトを調べ始めましたが、何の進展もありませんでした (何も生成されていません)。また、アセンブリが次の場所に読み込まれているため、正しい方向を見ているかどうかさえわかりません。独自の ViewEngine と ControllerFactory を使用する必要があります。
c# - Enum 型の CheckBoxList MVC Razor
私の c#.net MVC アプリケーションでは、列挙型のチェックボックス リストを表示したいと考えています。
私は列挙型を持っています
そして私のモデルは
私の見解では、読み取り用と編集用の2つのチェックボックスが必要です
しかし、これにより、「テンプレートは、フィールド アクセス、プロパティ アクセス、単一次元配列インデックス、または単一パラメーターのカスタム インデクサー式でのみ使用できます」というエラーが表示されます。
モデルにさらに 2 つのプロパティを追加することで、この問題を回避しました。
そして、私の見解を作ります
私がアプローチした方法が正しくないことはわかっています。これを達成するためのより良い方法があるはずです。誰かがこれについて私にアドバイスしてもらえますか。
asp.net-mvc - RazorGenerator.MVC - アセンブリがメイン アプリの bin フォルダーにコピーされていない場合、ビューを生成できない
現時点では、RazorGenerator.Mvc で遊んでいます。目的は、MVC4 アプリケーション用のモジュラー フレームワークを作成することです。Google で見つけたいくつかのチュートリアルに従っていますが、アプリケーションは正常に動作します。
しかし、私を悩ませ続けている質問があります。したがって、私のソリューションは次のようになります。
-CoreMVCProject
-MVCModuleA
-MVCModuleB
モジュール プロジェクトを管理して、生成されたアセンブリを CoreMVCProject の bin フォルダーにコピーしました。これは今のところ問題なく動作します。
しかし、CoreMVCProject に Plugins フォルダーを作成すると、モジュールからのビューを読み取ることができず、ビューが見つからないというエラーが常に発生します。
ただし、次のように、Plugins フォルダー内にアセンブリを追加するコードも追加しました。
モジュールからのビューはまだ読み取ることができませんが、モジュール内のコントローラーやその他のロジックには問題なくアクセスして実行できます。
要するに、問題は、アセンブリがメインの MVC プロジェクトのビンにコピーされていなくても、ビューを正常に読み取れるように管理する方法です。
なにか提案を ?