public void GetUrlHelper_returns_UrlHelper_from_ViewUserControl() { var control = new ViewUserControl(); ViewPage viewPage = new ViewPage(); viewPage.ViewContext = new ViewContext(); viewPage.ViewData = new ViewDataDictionary(); viewPage.InitHelpers(); viewPage.Controls.Add(control); var url = control.Html.GetUrlHelper(); url.Should().BeSameAs(control.Url); }
public void GetUrlHelper_returns_UrlHelper_from_ViewPage() { var page = new ViewPage { ViewContext = new ViewContext(), ViewData = new ViewDataDictionary() }; page.InitHelpers(); var url = page.Html.GetUrlHelper(); url.Should().BeSameAs(page.Url); }
private static string renderPluginTemplate(PluginTemplate pluginTemplate, ResultExecutedContext context, string partialView, int index) { ViewPage viewPage = new ViewPage() { ViewContext = new ViewContext(context, ((ViewResult)context.Result).View, context.Controller.ViewData, context.Controller.TempData), ViewData = context.Controller.ViewData }; StringBuilder sb = new StringBuilder(); viewPage.InitHelpers(); //TODO: (erikpo) Change the current model to be wrapped by a PluginViewModel to strongly type things like the plugin and its extended properties viewPage.ViewData.Model = getModel(context, partialView, index); viewPage.ViewData["Plugin"] = pluginTemplate.Plugin; viewPage.ViewData["Index"] = index; viewPage.Controls.Add(viewPage.LoadControl(string.Format("{0}/{1}.ascx", pluginTemplate.Plugin.Container.GetTemplatesPath(), pluginTemplate.TemplateName))); using (StringWriter sw = new StringWriter(sb)) using (HtmlTextWriter tw = new HtmlTextWriter(sw)) viewPage.RenderControl(tw); return(sb.ToString()); }
public void InitHelpers() { _viewPage.InitHelpers(); }