Files
Umbraco-CMS/src/Umbraco.Web/Mvc/ViewContextExtensions.cs
Shannon Deminick 3e28376ae7 Fixes: #U4-1472 - XmlHelper.
Fixes: #U4-1488 - partial view macro engine issues.
2013-01-19 06:38:02 +03:00

53 lines
1.5 KiB
C#

using System.IO;
using System.Web.Mvc;
namespace Umbraco.Web.Mvc
{
internal 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
{
Controller = vc.Controller,
HttpContext = vc.HttpContext,
RequestContext = vc.RequestContext,
RouteData = vc.RouteData,
TempData = vc.TempData,
View = vc.View,
ViewData = new ViewDataDictionary(vc)
{
Model = model
},
FormContext = vc.FormContext,
ClientValidationEnabled = vc.ClientValidationEnabled,
UnobtrusiveJavaScriptEnabled = vc.UnobtrusiveJavaScriptEnabled,
Writer = vc.Writer
};
}
//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
// };
//}
}
}