我手動創建一個RazorView
實例並手動將該視圖渲染到我的響應輸出中。是否有可能以編程方式確定ASP.NET MVC的Razor視圖模型?
var errorController = new FakeErrorController();
var controllerContext =
new ControllerContext(httpApplication.Context.Request.RequestContext,
errorController);
var view = new RazorView(controllerContext, viewPath, null, false, null);
var viewModel = new ErrorViewModel
{
Exception = currentError
};
var tempData = new TempDataDictionary();
var viewContext = new ViewContext(controllerContext, view,
new ViewDataDictionary(viewModel), tempData,
httpApplication.Response.Output);
view.Render(viewContext, httpApplication.Response.Output);
工作正常。
但請注意我是如何對ViewModel
進行硬編碼的?我想知道是否可以看到RazorView
是否定義了強類型的ViewModel
。
例如。 @model SomeNamespace.Model.Foo
然後創建一個新的類型,基於此。讓我們也假設有一個無參數的默認構造函數。
這可能嗎?