2011-02-10 11 views
0

は、私は次のコードを持っている:HtmlHelperの内部から部分ビューを返すには?

public static PartialViewResult DateTime(this HtmlHelper helper) 
     { 


      return System.DateTime.Now.ToLongTimeString(); 
     } 

を、今私は、DateTimeのメソッド内からパーシャルビューを返したいです。しかし、ヘルパーインスタンスには部分ビューのメソッドがありません。私の意見で

私が聞いて、より良い質問はどのように私は(カスタム)HtmlHelperの内側からの部分的なビューのHTMLを返すことができるということだと思います

+0

部分図がタイプするPartialViewResultのです...あなたがここに達成するために何をしようとしていますか? –

+0

複数のプロジェクトの共有ビューを返すために使用できる拡張メソッドを作成しようとしています。 – johndoe

答えて

1

これはMVCパターンAを破る:

UPDATE 2ビット。 を担当するControllerが必要です。あなたのViewを返すActionのコントローラを作成します。

部分ビューとして使用する以外の操作をしたくない場合は、そのための属性があります。この方法で、MVCパターンに固執し、拡張子@Html.RenderPartialを使用することができます。 DateTimeを返す

あなたの例では、@Robertレヴィが言ったように解決することは可能ですが、あなたが本当にしようとするとController外部からViewを返すようにしたい場合は、私のことをしようとしてに対して強く助言だろう。

2

実際のビューではなく文字列を返すヘルパーを作成しようとしているようです。それは大丈夫です(とpartialviewを返すヘルパーよりもはるかに理にかなって)、ちょうどこれらのほとんどの微調整を行います。

public static MvcHtmlString DateTime(this HtmlHelper helper) 
{ 
    return MvcHtmlString.Create(System.DateTime.Now.ToLongTimeString()); 
} 
関連する問題