2009-07-30 13 views
0

ASPXビュー(ASP.NET MVC)はデフォルト以外のコンストラクタを持ち、このビューを作成するときにこのコンストラクタを使用できますか?ASP.NET MVC - 非デフォルトのコンストラクタを持つASPX

- ページが、このクラスから継承します:

public class ViewPageWithHelper<TModel> : System.Web.Mvc.ViewPage<TModel> where TModel : class 
    { 
     public ViewPageWithHelper(Helpers helpers) 
     { 
      Helpers = helpers; 
     } 

     protected Helpers Helpers { get; private set; } 
    } 

ASPXビュー:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="MyInjectedViewPage<MyModel>" %> 

<% Helpers.XXXX %> 

を今、私は何とかビューにヘルパーを注入したいと思います - 自動的に。アイデア?

答えて

0

私は、デフォルトのwebformビューエンジンを使用してビューを作成し、次にプロパティインジェクションを使用して依存関係を注入する独自のIViewEngineを作成してください。

0

なぜヘルパーを注入する必要がありますか?

私は過去にヘルパーが必要だったとき、私はHtmlHelperの拡張メソッドを書いているか、静的ヘルパークラスを作成してビューに直接使用しました。

+0

ヘルパーは、セッションオブジェクト、サービス、リポジトリなどの注入されたオブジェクトのいくつかを使用するためです。私は眺めが知りたいとは思わない... それ以外の場合は、静的な拡張メソッドで十分です。しかし、私はヘルパーをユニットテスト可能にしたいと思います。 – bh213

関連する問題