6

Visual StudioでMVCを使用して新しいコントローラーを作成すると、次のコードが自動的に生成されます。

public class Default1Controller : Controller
{
    //
    // GET: /Default1/

    public ActionResult Index()
    {
        return View();
    }

}

Default1ControllerはControllerから継承しますが、BaseControllerクラスを使用しているため、継承を変更することを常に忘れないでください。プロジェクトのより具体的なコードを自動的に生成するために、新しいテンプレートを変更または作成することは可能ですか?

public class Default1Controller : BaseController
{
    //
    // GET: /Default1/

    public ActionResult Index()
    {
        return View();
    }

}

ありがとうございました、

4

4 に答える 4

5

あなたはで必要custom code generationですMVC

次のリンクが役立つ場合があります。

ASP.NETMVCでのデフォルトのコード生成/スキャフォールディングテンプレートの変更

そしてまた

ASP.NETMVCとT4およびNerdDinner

于 2012-06-15T10:59:11.440 に答える
4

「コントローラの追加」コマンドの基礎となるT4テンプレートを変更する必要があります。

\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Web \ MVC 3 \ CodeTemplates \ AddController \(VSおよびMCVのバージョンに置き換えます)に移動し、Controller.ttを変更します

public class <#= mvcHost.ControllerName #> : Controllerは次のようになりますpublic class <#= mvcHost.ControllerName #> : BaseController

詳細については、ScottHanselmanのブログをご覧ください。

于 2012-06-15T11:04:41.313 に答える
3

次のようなフォルダーにあるコントローラーT4テンプレートを変更できるはずです。

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 3\CodeTemplates\AddController

行を変更するだけです

public class <#= mvcHost.ControllerName #> : Controller

public class <#= mvcHost.ControllerName #> : BaseController

また、Asifが提供するリンクも役立ちます。

于 2012-06-15T11:05:50.417 に答える
1

T4テンプレートをオーバーライドする必要があり、生産性のためにスキャフォールディングを使用することもできます。詳細はこちら:MvcScaffolding:T4テンプレートのオーバーライド

于 2012-06-15T11:16:38.787 に答える