* Migrated a few classes, and cleaned up by removing some old classs too in the Umbraco.Web Project Signed-off-by: Bjarke Berg <mail@bergmania.dk> * Migrated a few classes, and cleaned up by removing some old classs too in the Umbraco.Web Project Signed-off-by: Bjarke Berg <mail@bergmania.dk> * Moved SurfaceControllerTypeCollection + Builder Signed-off-by: Bjarke Berg <mail@bergmania.dk> * Moved Extension methods Signed-off-by: Bjarke Berg <mail@bergmania.dk> * Removed Wrap methods.. People should use their own TagBuilder Signed-off-by: Bjarke Berg <mail@bergmania.dk>
76 lines
3.0 KiB
C#
76 lines
3.0 KiB
C#
using Microsoft.AspNetCore.Mvc.Rendering;
|
|
using Microsoft.AspNetCore.Mvc.ViewFeatures;
|
|
|
|
namespace Umbraco.Extensions
|
|
{
|
|
public static class ViewContextExtensions
|
|
{
|
|
/// <summary>
|
|
/// Creates a new ViewContext from an existing one but specifies a new Model for the ViewData
|
|
/// </summary>
|
|
/// <param name="vc"></param>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public static ViewContext CopyWithModel(this ViewContext vc, object model)
|
|
{
|
|
return new ViewContext
|
|
{
|
|
View = vc.View,
|
|
Writer = vc.Writer,
|
|
ActionDescriptor = vc.ActionDescriptor,
|
|
FormContext = vc.FormContext,
|
|
HttpContext = vc.HttpContext,
|
|
RouteData = vc.RouteData,
|
|
TempData = vc.TempData,
|
|
ViewData = new ViewDataDictionary(vc.ViewData)
|
|
{
|
|
Model = model
|
|
},
|
|
ClientValidationEnabled = vc.ClientValidationEnabled,
|
|
ExecutingFilePath = vc.ExecutingFilePath,
|
|
ValidationMessageElement = vc.ValidationMessageElement,
|
|
Html5DateRenderingMode = vc.Html5DateRenderingMode,
|
|
ValidationSummaryMessageElement = vc.ValidationSummaryMessageElement
|
|
};
|
|
}
|
|
|
|
public static ViewContext Clone(this ViewContext vc)
|
|
{
|
|
return new ViewContext
|
|
{
|
|
View = vc.View,
|
|
Writer = vc.Writer,
|
|
ActionDescriptor = vc.ActionDescriptor,
|
|
FormContext = vc.FormContext,
|
|
HttpContext = vc.HttpContext,
|
|
RouteData = vc.RouteData,
|
|
TempData = vc.TempData,
|
|
ViewData = new ViewDataDictionary(vc.ViewData),
|
|
ClientValidationEnabled = vc.ClientValidationEnabled,
|
|
ExecutingFilePath = vc.ExecutingFilePath,
|
|
ValidationMessageElement = vc.ValidationMessageElement,
|
|
Html5DateRenderingMode = vc.Html5DateRenderingMode,
|
|
ValidationSummaryMessageElement = vc.ValidationSummaryMessageElement
|
|
};
|
|
}
|
|
|
|
//public static ViewContext CloneWithWriter(this ViewContext vc, TextWriter writer)
|
|
//{
|
|
// return new ViewContext
|
|
// {
|
|
// Controller = vc.Controller,
|
|
// HttpContext = vc.HttpContext,
|
|
// RequestContext = vc.RequestContext,
|
|
// RouteData = vc.RouteData,
|
|
// TempData = vc.TempData,
|
|
// View = vc.View,
|
|
// ViewData = vc.ViewData,
|
|
// FormContext = vc.FormContext,
|
|
// ClientValidationEnabled = vc.ClientValidationEnabled,
|
|
// UnobtrusiveJavaScriptEnabled = vc.UnobtrusiveJavaScriptEnabled,
|
|
// Writer = writer
|
|
// };
|
|
//}
|
|
}
|
|
}
|