public static void PropagateSection(this WebViewPage page, string sectionName) { if (page.IsSectionDefined(sectionName)) { page.DefineSection(sectionName, delegate() { page.Write(page.RenderSection(sectionName)); }); } }
//public static MvcLinksExtension<TModel> Links<TModel>(this HtmlHelper<TModel> helper) //{ // return new MvcLinksExtension<TModel>(helper); //} //public static MvcPanelExtension<TModel> Panel<TModel>(this HtmlHelper<TModel> helper) //{ // return new MvcPanelExtension<TModel>(helper); //} /// <summary> /// Liefert die PageId für die aktuell anzuzeigende Seite. /// </summary> /// <param name="htmlHelper"></param> /// <param name="view">Instanz der View.</param> /// <returns></returns> public static string GetPageId(this HtmlHelper htmlHelper, WebViewPage view) { if (view.IsSectionDefined("PageId")) { return(view.RenderSection("PageId").ToString().Trim()); } RouteData routeData = htmlHelper.ViewContext.HttpContext.Request.RequestContext.RouteData; string area = "NoArea"; if (routeData.DataTokens.ContainsKey("area")) { area = routeData.DataTokens["area"].ToString(); } string controller = "Home"; if (routeData.Values.ContainsKey("controller")) { controller = routeData.Values["controller"].ToString(); } string action = "Index"; if (routeData.Values.ContainsKey("action")) { action = routeData.Values["action"].ToString(); } return(area + "_" + controller + "_" + action); }
public static HelperResult SafeRenderSection <TModel>(this HtmlHelper <TModel> helper, string name, bool required = false) { WebViewPage PAge = helper.ViewDataContainer as WebViewPage; if (PAge.IsSectionDefined(name)) { return(PAge.RenderSection(name, required)); } return(null); }
/// <summary> /// 如果@section未定义,则渲染部分页 /// </summary> /// <typeparam name="TModel"></typeparam> /// <param name="page"></param> /// <param name="name"></param> /// <returns></returns> public static IHtmlString RenderSectionOrPartial <TModel>(this WebViewPage <TModel> page, string name) { var renderSection = page.RenderSection(name, false); if (renderSection != null) { return(renderSection); } return(page.Html.Partial(name)); }
/// <summary> /// 如果@section未定义,则渲染部分页 /// </summary> /// <typeparam name="TModel"></typeparam> /// <param name="page"></param> /// <param name="name"></param> /// <returns></returns> public static IHtmlString RenderSectionOrPartial <TModel>(this WebViewPage <TModel> page, string name) { //Unify/_Breadcrumbs => Unify_Breadcrumbs var fixSectionName = name.Replace("/", ""); var renderSection = page.RenderSection(fixSectionName, false); if (renderSection != null) { return(renderSection); } return(page.Html.Partial(name)); }