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());
        }
Пример #4
0
 public void InitHelpers()
 {
     _viewPage.InitHelpers();
 }