I need to display a partial view for a string, and I'm trying to convert a C # example to VB.Net since I am stuck with this for this project.
This causes me a headache of these two problems:
- ObjectViewData - I Can't Understand What It Is
- RenderPartial is a sub, but seems to be used as a function - I don't understand it
I refer to MVCContrib.UI, so I do not need to convert it. But these two functions, I need to convert:
(from brightmix.com )
/// Static Method to render string - put somewhere of your choosing public static string RenderPartialToString(string userControl, object viewData, ControllerContext controllerContext) { HtmlHelper h = new HtmlHelper(new ViewContext(controllerContext, new WebFormView("omg"), null, null), new ViewPage()); var blockRenderer = new BlockRenderer(controllerContext.HttpContext); string s = blockRenderer.Capture( () => RenderPartialExtensions.RenderPartial(h, userControl, viewData) ); return s; } /// Your Controller method... public ActionResult MakeStringForMe() { var objectViewData = new objectViewData { SomeString = "Dude", SomeNumber = 1 }; string s = RenderPartialToString("~/Views/Controls/UserControl.ascx", objectViewData, this.ControllerContext); View(); }
Here is my attempt to convert it to VB.Net
'Static Method to render string - put somewhere of your choosing' Public Shared Function RenderPartialToString(ByVal userControl As String, ByVal viewData As Object, ByVal controllerContext As ControllerContext) As String Dim h As New HtmlHelper(New ViewContext(controllerContext, New WebFormView("omg"), Nothing, Nothing), New ViewPage()) Dim blockRenderer As New MvcContrib.UI.BlockRenderer(controllerContext.HttpContext) Dim s As String = blockRenderer.Capture(RenderPartialExtensions.RenderPartial(h, UserControl, viewData)) End Function Public Function MakeStringForMe() As ActionResult Dim objectViewData As objectViewData = New objectViewData With {.SomeString = "Dude", .SomeNumber = 1} Dim s As String = RenderPartialToString("~/Views/Controls/UserControl.ascx", objectViewData, Me.ControllerContext) View() End Function
alt text http://i43.tinypic.com/2cg1ves.png
Kjensen
source share