2010-12-30 11 views
2

私は、ActionResultを返すコントローラメソッドを記述しようとしています。 1.コールHTMLヘルパーメソッド 2.キャプチャし、文字列 3.戻りJSONASP.NET MVC:コントローラメソッドからカスタムHTMLヘルパを呼び出す方法

としてラップレンダリングされたHTMLと方法でHTMLヘルパーのレンダリングされたHTMLを保存:

この方法では

、私はしたいと思います

私のコントローラメソッドからHtmlヘルパーメソッドを呼び出すにはどうすればよいですか?単に静的クラスHtmlHelperを使用しても機能しません。

+0

このHTMLヘルパーとは何ですか?私は代わりがあると思う。 –

+0

HTMLをJSONとして返すのはなぜですか?なぜそれをHTMLとして返し、部分的なビューを使用してみませんか? –

+0

@ダーリン:問題をもっと考えた後、より良い設計の選択肢があります。私の状況では、htmlヘルパーをアクションメソッドとしてリファクタリングするのが一番良いと思います。 @sean:エラーチェック変数を返し、エラーをクライアントに通知する必要があるため、JSONとして返す必要があります。 – burnt1ce

答えて

4
var helper = new HtmlHelper<TModel>(new ViewContext(), new ViewPage()); 

これが機能しない場合は、これを試すことができます。

Stream filter = Stream.Null; 
StreamWriter writer = new StreamWriter(filter); 
var viewContext = new ViewContext(this.ControllerContext, 
    new WebFormView("MyView"), 
    new ViewDataDictionary(this.ViewData), 
    new TempDataDictionary(), writer); 
var helper = new HtmlHelper<TModel>(viewContext, new ViewPage()); 

モデルのタイプをTModelに置き換えてください。

関連する問題