ActionResult
物事をブラウザにレンダリングするオブジェクトを返すプラグ可能なフレームワークがあります。最新の要件の 1 つは、プラグインを通常の ASP.NET Web フォーム アプリケーションから呼び出せるようにすることです。
これまでのところ、非常に基本的な ActionResults で機能するこれを思いつきました。
public class ActionResultTranslator {
HttpContextBase _context;
public ActionResultTranslator(HttpContextBase context ) {
_context = context;
}
public void Execute(ActionResult actionResult) {
ControllerContext fakeContext = new ControllerContext();
fakeContext.HttpContext = _context;
actionResult.ExecuteResult(fakeContext);
}
}
上記を Web フォームから次のように呼び出します。
protected void Page_Load(object sender, EventArgs e) {
HttpContextWrapper contextWrapper = new HttpContextWrapper(this.Context);
var translator = new ActionResultTranslator(contextWrapper);
translator.Execute(new RedirectResult("http://google.com"));
}
すべてを接続するには、他に何をする必要がありますか? たとえば、ViewResult を返したい場合はどうすればよいでしょうか。