我正在调用一个试图从MVC剃刀视图中获取HTML输出的函数,并将HTML输出作为字符串传递给我。
这是我的代码:
Dim ControllerContext As New ControllerContext
ControllerContext.RouteData.Values.Add("id", reqID)
ControllerContext.RouteData.Values.Add("controller", "po")
Dim viewResult As ViewEngineResult = ViewEngines.Engines.FindPartialView(ControllerContext, "print")
Dim viewContext As ViewContext = New ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw)
viewResult.View.Render(viewContext, sw)
viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View)
Dim strHTML As String = sw.GetStringBuilder().ToString()
它在“viewResult.View.Render(viewContext,sw)”行中失败并显示错误 - System.NotImplementedException:未实现方法或操作。
我真的希望能够从CRON JOB /脚本中调用它。不仅来自MVC页面HTTP POST。也许这有所不同?因为,我之前有这个工作,当它从控制器内的HTTP POST方法调用时。现在,从我的脚本中,我调用一个VB函数(位于一个单独的类中),该函数使用FindPartialView函数调用此函数(位于我的POController中)。