【发布时间】:2011-09-20 15:20:21
【问题描述】:
我想知道是否可以从非控制器的类中呈现视图。我看到的一切似乎都在说你不能。
我正在尝试从 WCF Web 服务呈现部分视图,以便将其推送到其他地方。是否可以为此使用视图引擎?
谢谢!
更新:
我不断收到 HtmlHelper 的参数 null 异常。这是我的代码和堆栈跟踪。我的部分确实被命名为 TableOfContent.cshtml 并且位于 /View/Shared 文件夹中。我是不是要以不同的方式实例化我的 ViewContext ?
HtmlHelper helper = new HtmlHelper(new ViewContext(), viewData);
var a = helper.Partial("TableOfContent");
at System.Web.Mvc.ViewContext..ctor(ControllerContext controllerContext, IView view, ViewDataDictionary viewData, TempDataDictionary tempData, TextWriter writer)
at System.Web.Mvc.HtmlHelper.RenderPartialInternal(String partialViewName, ViewDataDictionary viewData, Object model, TextWriter writer, ViewEngineCollection viewEngineCollection)
at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName)
at SyncInvokeProcessEvent(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
【问题讨论】: