既存の ASP.NET MVC3 アプリケーションがあり、ExtJ を組み込みたいのは主にグラフ作成のためですが、後でより多くの機能を追加するためです。私のアーキテクチャにはすでに一連の POCO エンティティがあり、それらすべてを JavaScript ベースのモデルで使用できるようにしたいと考えています。また、エンティティの 2 つのセットを維持する必要はありません。エンティティの JSON 表現を作成するものを作成するのはおそらく難しくないと思いますが、誰かが既にこれを行っているはずですよね? 自分の検索では見つけられませんでした。どんな支援も大歓迎です!
4 に答える
面白いアイデアですね!確かに動機は理解できます。T4 テンプレート エンジンを使用して、C# モデルから JavaScript ファイルを生成するのが良い解決策かもしれません。
このようにして、リフレクションを使用して特定のプロジェクトまたは名前空間で定義されたすべてのタイプを取得し、それらを反復処理して、それぞれの javascript 定義を書き出すテンプレートを作成できます。パブリック プロパティの名前と、それらを囲む任意の JavaScript 構文を一覧表示するためのもう少しの考察と、すべての並べ替えが完了しました!
newtonsoft.json への参照を追加すると、そのようになります
var model = @Html.Raw(JsonConvert.SerializeObject(Model, new IsoDateTimeConverter()));
それはあなたが探しているものですか?
私は個人的なプロジェクトに似たようなことをしようとしていましたが、MSDN で POCO を JSON にシリアル化できるDataContractJsonSerializerを見つけました。SummiG による ASP.NET での JSON Serialization and Deserialization というタイトルの CodeProject に関する記事もあり、静的ヘルパー クラスを作成する良い (一見完全な) 例を示しています。
そうは言っても、私はまだ自分で試したことはありません。その方法を試した場合は、フィードバックをいただければ幸いです。