2011-06-22 90 views
4

我想知道是否有可能呈現從一類是不控制器的視圖。我看到的每件事似乎都說你不能。是否有可能使控制器外的看法?

我想要做的是使從一個WCF Web服務的局部視圖,以推動它在其他地方。有沒有可能爲此使用視圖引擎?

謝謝!

更新:

我不斷收到空參數與異常爲HtmlHelper。這是我的代碼和堆棧跟蹤。我的部分確實是名爲TableOfContent.cshtml和位於/查看/共享文件夾。我新來實例化我的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) 

回答

0

This will call the view而不需要控制器(用於局部視圖)。

Html.Partial(partialViewName); 

參見Html.Partial method overload

+4

的類型 「HTML」 的對象是 「的HtmlHelper」。爲了實例化這個,你需要一個ViewContext。要實例化一個ViewContext,你需要一個ControllerContext ...回到同樣的問題。沒有控制器。 – James

0

這裏有兩種不同的思路來考慮:類似

  1. 我已經做了一些使用RazorEngine。允許您將剃鬚刀模板呈現爲字符串。
  2. 創建一個控制器,並使用Web客戶端調用的動作。這假定你有一個MVC應用程序。
相關問題