private bool GenerateStaticPage(string viewPath,
string htmlPath,
ControllerContext context, object model = null, bool isPartial = false,
string masterName = "")
{
//创建存放静态页面目录
if (!Directory.Exists(Path.GetDirectoryName(htmlPath)))
{
Directory.CreateDirectory(Path.GetDirectoryName(htmlPath));
}
//删除已有的静态页面
//if (System.IO. File.Exists(htmlPath))
//{
// System.IO.File.Delete(htmlPath);
//}
ViewEngineResult result = null;
if (isPartial)
{
result = ViewEngines.Engines.FindPartialView(context, viewPath);
}
else
{
result = ViewEngines.Engines.FindView(context, viewPath, masterName);
}
if (model != null)
{
context.Controller.ViewData.Model = model;
}
if (result.View != null)
{
using (var sw = new StringWriter())
{
var viewContext = new ViewContext(context,
result.View,
context.Controller.ViewData,
context.Controller.TempData, sw);
result.View.Render(viewContext, sw);
string body = sw.ToString();
System.IO.File.WriteAllText(htmlPath, body, System.Text.Encoding.UTF8);
}
}
else
{
}
return true;
}