ASP.NET MVCには、新しく作成されたビューの基になる「スカフォールドテンプレート」を選択する機能があります([ビューの追加]> [強く型付けされたビューを作成]>スカフォールドテンプレート)。ASP.NET MVC 3で自分のScaffoldテンプレートを作成するにはどうすればよいですか?
独自のスキャフォールドテンプレートを作成することはできますか?そしてもしそうなら、どうですか?
ASP.NET MVCには、新しく作成されたビューの基になる「スカフォールドテンプレート」を選択する機能があります([ビューの追加]> [強く型付けされたビューを作成]>スカフォールドテンプレート)。ASP.NET MVC 3で自分のScaffoldテンプレートを作成するにはどうすればよいですか?
独自のスキャフォールドテンプレートを作成することはできますか?そしてもしそうなら、どうですか?
ASP.NET MVCはT4テンプレートを使用します。 Here's an overview。ここで
は、手順は次のとおりです。パッケージマネージャコンソールタイプで
install-package mvc3codetemplatescsharp
CodeTemplates
フォルダがテンプレートここから、既存のテンプレートを変更するか、新しいテンプレートを追加することができます。
グローバルに変更する場合は、C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 3\CodeTemplates\
フォルダでこれを変更できます。
これをMVC4プロジェクトにインストールすることの関連性VS2012:http://stackoverflow.com/questions/6320883/what-is-and-where-can-i-find-mvctexttemplatehost –
もちろん、ナゲットなしでT4を使用することもできます。アプリケーションウェブサイトのルート(ビューを含むプロジェクト)にフォルダを配置します。それがあるべきように、ディレクトリ構造が重要である
\ CodeTemplates \ AddView \ AspxCsharp \ MyTemplate.tt
あなたはCにある既存のテンプレートのいずれかから内容をコピーすることができ:\プログラムファイル(x86の)\マイクロソフトVisual Studio 10.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Web \ MVC 3 \ CodeTemplates \
次に、カスタムツールという名前のTTファイルのプロパティをクリアします。これは空白にする必要があります。
コントローラアクションを右クリックして「ビューを追加」と言うか、コントローラが別のプロジェクトに入っているので、Viewフォルダを右クリックして「ビューを追加」をクリックします。
ドロップダウンから「強く型付けされたビューを作成」してから下に使用するタイプを入力してクリックして、「データの表示クラス:」
最後に、「表示内容」ドロップダウンリストで、「MyTempate」を選択します。これは、フォルダを正しく入力した場合に表示されます。
このMSDNの記事は、足場やページテンプレートについて説明します。 順番に、テンプレートを変更するための次の記事にリンクし、http://msdn.microsoft.com/en-us/library/cc488540.aspx
これは動的データ用であり、MVC用ではありません! –
あるいは、ビジュアルWeb開発者Expressの32にこれらのファイルの別の場所は、C:¥Program Files¥Microsoft Visual Studio 10.0¥Common7¥IDE¥VWDExpress¥ItemTemplates¥CSharp¥Web¥MVC 3¥CodeTemplatesです。
Visual Studio 2012 with MVC 4では、簡単な方法(インストールNugetパッケージはあなたに不完全なセットアップをもたらします。なぜなら、Nugetパッケージは悲惨なものです(2011年に最後に更新されました - おそらく、作成された日)。
あなたはフランシス・シャナハンの答えと同等のものを使用する必要がありますが、その代わりから物事をコピーするためのパスが(64ビット)である:
C:\プログラムファイル(x86の)11.0 \ Common7 \ \のMicrosoft Visual Studioの\ IDE \ ItemTemplates \ CSHARP \ウェブ\ MVC 4 \ CodeTemplates
ます:
あなたがアセンブリ> Extensionsで見つけることができますMicrosoft.Web.Infrastructure、への参照を追加します。
コピーこれはあなたのプロジェクトのルートに(フォルダ自体を含む)フォルダをCodeTemplatesプロジェクト
今のコンパイルエラー(のような見つけることができませんMvcTextTemplateHost)
追加された各ファイルのプロパティを表示し、それぞれの「カスタムツール」プロパティのテキストを削除します。あなたは(ファイルは、もはやその場で生成されませんので)すべて保存次の各ファイルへの矢印が消えます
を拡張し、ビルドしないとき - コンパイラのエラーがドン場合はコンパイルエラーが
を行って特にVisual Studioが生成した.csファイルにエラーが表示され、.ttファイルが見つからない場合は、Visual Studioを閉じ、一時フォルダを消去してから、ソリューションを再度開きます。あるケースでは、問題が解決する前に再起動しました。これは、Visual Studioが自動的にコードを生成しようとしていた.ttテンプレートの.csファイルが生成されたためです。また
、.ttファイルの名前は少し混乱している - ここで彼らはマッピング方法は次のとおりです。
GUI:読み取り/書き込みアクションとビューの
空のMVCコントローラ
MVCコントローラ、 Entity FrameworkのにEntity Frameworkのに空の読み取り/書き込みと
APIコントローラを使用して、読み取り/書き込みアクションで空の読み取り/書き込みアクションを
空のAPIコントローラ
APIコントローラ、と
MVCコントローラを使用してアクション
CodeTemplates \ AddControllerのファイルは、それぞれマップ:
をController.tt
ControllerWithContext.tt
は Controller.tt
ApiController.tt
は ApiControllerWithContext.tt
ApiController.tt
ありますif文はController.ttとApiController.ttにあり、読み取り/書き込みアクションの有無を処理します。
ビューでは、List.ttがIndex.cshtmlを作成し、Create/Delete/Details/Edit/Index以外のビューでEmpty.ttが使用される点を除いて、名前は直感的です。
This question covers what properties you can use in the .tt templates。
.ttテンプレートはMicrosoft T4テンプレートです。 T4 Template Syntax。
もちろん、リリースされて以来、これに答えることのできる人の数は、およそScott GuthrieとPhil Haackに限られています。 – Will
または@Darin Dimitrov;) – jfar
C:¥Program Files(x86)¥Microsoft Visual Studio 10.0¥Common7¥IDE¥ItemTemplates¥CSharp¥Web¥MVC 3¥CodeTemplates¥AddController – davethecoder