private void RenderViewPage(ViewContext context, ViewPage page) { if (!String.IsNullOrEmpty(MasterPath)) { page.MasterLocation = MasterPath; } page.ViewData = context.ViewData; page.RenderView(context); }
public void Init() { var viewPage = new ViewPage(); var viewContext = new ViewContext(); viewContext.TempData = new TempDataDictionary(); _htmlHelper = new HtmlHelper(viewContext, viewPage); }
public void Before_each_test() { ViewPage viewPage = new ViewPage(); ViewContext viewContext = new ViewContext(); viewContext.TempData = new TempDataDictionary(); htmlHelper = new HtmlHelper(viewContext, viewPage); flashMessageCollection = new FlashMessageCollection(viewContext.TempData); }
public static string RenderViewUserControl(this HtmlHelper html, ViewUserControl control, object model) { ViewPage viewPage = new ViewPage(); viewPage.ViewContext = html.ViewContext; viewPage.Controls.Add(control); viewPage.Url = new UrlHelper(html.ViewContext); viewPage.Html = new HtmlHelper(html.ViewContext, viewPage); control.ViewData = new ViewDataDictionary(html.ViewContext.ViewData); control.ViewData.Model = model; control.InitializeAsUserControl(viewPage); StringBuilder sb = new StringBuilder(); StringWriter writer = new StringWriter(sb, CultureInfo.CurrentCulture); HttpContext.Current.Server.Execute(viewPage, writer, true); return sb.ToString(); }
private void RenderAction(IParrotWriter writer, IDictionary<string, object> documentHost, string action, string controllerName, string area, params string[] additional) { RouteValueDictionary routeValues = new RouteValueDictionary(); routeValues["action"] = action; if (!string.IsNullOrWhiteSpace(controllerName)) { routeValues["controller"] = controllerName; } if (!string.IsNullOrWhiteSpace(area)) { routeValues["area"] = area; } var viewContext = documentHost["ViewContext"] as ViewContext; IViewDataContainer container = new ViewPage(); var helper = new HtmlHelper(viewContext, container); writer.Write(helper.Action(action, routeValues).ToHtmlString()); }
public string RenderViewToString(Controller controller, string viewName, object viewData) { var renderedView = new StringBuilder(); using (var responseWriter = new StringWriter(renderedView)) { var fakeResponse = new HttpResponse(responseWriter); var fakeContext = new HttpContext(HttpContext.Current.Request, fakeResponse); var fakeControllerContext = new ControllerContext(new HttpContextWrapper(fakeContext), controller.ControllerContext.RouteData, controller.ControllerContext.Controller); var oldContext = HttpContext.Current; HttpContext.Current = fakeContext; using (var viewPage = new ViewPage()) { HtmlHelper html = new HtmlHelper(CreateViewContext(responseWriter, fakeControllerContext), viewPage); html.RenderPartial(viewName, viewData); HttpContext.Current = oldContext; } } return renderedView.ToString(); }
public virtual void Render(ViewContext viewContext, TextWriter writer) { if (viewContext == null) { throw new ArgumentNullException("viewContext"); } object viewInstance = BuildManager.CreateInstanceFromVirtualPath(ViewPath, typeof(object)); if (viewInstance == null) { throw new InvalidOperationException( String.Format( CultureInfo.CurrentUICulture, MvcResources.WebFormViewEngine_ViewCouldNotBeCreated, ViewPath)); } ViewPage viewPage = viewInstance as ViewPage; if (viewPage != null) { RenderViewPage(viewContext, viewPage); return; } ViewUserControl viewUserControl = viewInstance as ViewUserControl; if (viewUserControl != null) { RenderViewUserControl(viewContext, viewUserControl); return; } throw new InvalidOperationException( String.Format( CultureInfo.CurrentUICulture, MvcResources.WebFormViewEngine_WrongViewBase, ViewPath)); }
public void SetUp() { _mocks = new MockRepository(); var httpContext = _mocks.DynamicMock<HttpContextBase>(); var httpResponse = _mocks.DynamicMock<HttpResponseBase>(); var httpSessionState = _mocks.DynamicMock<HttpSessionStateBase>(); SetupResult.For(httpContext.Session).Return(httpSessionState); SetupResult.For(httpContext.Response).Return(httpResponse); var routeData = new RouteData(); routeData.Values["controller"] = "testcontroller"; var requestContext = new RequestContext(httpContext, routeData ); var controller = _mocks.DynamicMock<ControllerBase>(); var controllerContext = new ControllerContext(requestContext, controller); var view = _mocks.DynamicMock<IView>(); _mocks.ReplayAll(); var viewPage = new ViewPage(); var viewContext = new ViewContext(controllerContext, view,new ViewDataDictionary(), new TempDataDictionary(), new StringWriter()); _htmlHelper = new HtmlHelper(viewContext, viewPage); _htmlHelperDuck = new HtmlExtensionDuck(_htmlHelper) {Introspector = new Introspector(new Logger())}; }
protected override void RenderView(ViewContext viewContext, TextWriter writer, object instance) { ViewPage viewPage = instance as ViewPage; if (viewPage != null) { RenderViewPage(viewContext, viewPage); return; } ViewUserControl viewUserControl = instance as ViewUserControl; if (viewUserControl != null) { RenderViewUserControl(viewContext, viewUserControl); return; } throw new InvalidOperationException( String.Format( CultureInfo.CurrentCulture, MvcResources.WebFormViewEngine_WrongViewBase, ViewPath)); }
/// <summary> /// Appends the current request's form values to the object's values as a <see cref="RouteValueDictionary"/>. /// </summary> /// <param name="page"></param> /// <param name="routeValues"></param> /// <param name="excludeProperties"></param> /// <returns></returns> public static RouteValueDictionary MergeFormValues(this ViewPage page, object routeValues, params string[] excludeProperties) { return(RouteValueHelper.Combine(routeValues, excludeProperties, page.Request.Form)); }
public MvcContainer(HttpContext context) { this._controller = new WebFormsController(); this._viewPage = new ViewPage(); InitializeHtmlHelper(context); }
/* <div class="fam-data-widget fam-data-list"> <form> <div class="toolbar"> <span class="title"> <%: Html.PageMainTitle()%></span> <div class="layout-left-liquid main-btns"> <ul> <li> <button type="button" class="btn create widget parent-dependent" data-method="get" data-url="/jw/teammember/create"> 新增</button></li> <li> <button type="button" class="btn delete widget" data-method="get" data-url="/jw/teammember/delete" data-zero-rows="false"> 删除</button></li> <li> <button type="button" class="btn edit widget" data-method="get" data-url="/jw/teammember/edit" data-zero-rows="false" data-multi-rows="false"> 修改</button></li> <li> <button type="button" class="btn details widget" data-method="get" data-url="/jw/teammember/details" data-zero-rows="false" data-multi-rows="false"> 查看</button></li> <li> <input type="search" class="keywords" name="keywords" value="<%: ViewData["query"] %>" /> <button type="button" class="btn search self loadoninit parent-dependent" data-method="post" data-url="/jw/teammember/quicksearch"> 查询</button> </li> </ul> </div> <div class="layout-right-fixed basic-buttons"> <ul> <li class="running" data-image-url="/Content/images/toolbar/ajax-loader.gif"></li> <li> <button type="button" class="refresh btn"> 刷新</button></li> <li> <button type="button" class="collapse btn"> 折叠</button></li> </ul> </div> </div> <div class="data-grid"> </div> </form> </div>*/ /// <summary> /// 获取某个操作的操作提示 /// </summary> /// <param name="viewPage"></param> /// <param name="action"></param> /// <returns></returns> private static string GetTip(ViewPage viewPage, string action) { var attr = viewPage.ViewContext.Controller.GetType() .GetMethods() .Where(m => m.Name.Equals(action, StringComparison.CurrentCultureIgnoreCase)) .Select(m => m.GetCustomAttributes(typeof(PriviledgeAttribute), false)) .FirstOrDefault(m => m.Length > 0); if (attr != null) { return ((PriviledgeAttribute)attr[0]).Tip; } return null; }
public static string GetSiteUrl(this ViewPage pg) { return(GetSiteUrl(pg.Url)); }
public DynamicLocator(ViewPage viewPage) : this(viewPage.ViewContext.ServiceLocator()) { }
private static IController GetController(ViewPage page) { return page.ViewContext.Controller; }
public static string SiteRoot(this ViewPage pg) { return(SiteRoot(pg.ViewContext.HttpContext)); }
public string RenderViewToString(ControllerContext controllerContext, string viewPath, string masterPath, ViewDataDictionary viewData, TempDataDictionary tempData, object model) { Stream filter = null; ViewPage viewPage = new ViewPage(); //Right, create our view viewData.Model = model; viewPage.ViewContext = new ViewContext(controllerContext, new WebFormView(controllerContext, viewPath, masterPath), viewData, tempData, viewPage.ViewContext.HttpContext.Response.Output); //Get the response context, flush it and get the response filter. var response = viewPage.ViewContext.HttpContext.Response; response.Flush(); var oldFilter = response.Filter; try { //Put a new filter into the response filter = new MemoryStream(); response.Filter = filter; //Now render the view into the memorystream and flush the response viewPage.ViewContext.View.Render(viewPage.ViewContext, viewPage.ViewContext.HttpContext.Response.Output); response.Flush(); //Now read the rendered view. filter.Position = 0; var reader = new StreamReader(filter, response.ContentEncoding); return reader.ReadToEnd(); } finally { //Clean up. if (filter != null) { filter.Dispose(); } //Now replace the response filter response.Filter = oldFilter; } }
public static String GetDefaultPageTitle <T>(this ViewPage <T> viewPage) where T : class { return(String.Empty); }
/// <summary> /// Appends the current request's query string and form values to the object's values as a <see cref="RouteValueDictionary"/>. /// </summary> /// <param name="page"></param> /// <param name="routeValues"></param> /// <param name="excludeProperties"></param> /// <returns></returns> public static RouteValueDictionary MergeRequestValues(this ViewPage page, object routeValues, params string[] excludeProperties) { return(RouteValueHelper.MergeRequestValues(routeValues, page.Request, excludeProperties)); }
/// <summary> /// Renders the client script function to setup the client-side validation with surrounding /// script tags. /// </summary> public static void RenderValidationSetScripts(this ViewPage viewPage) { RenderValidationSetScripts(viewPage, true); }
public static string GetReturnUrl(this ViewPage pg) { return(GetReturnUrl(pg.ViewContext.HttpContext)); }