📄 staticfile.aspx.cs
字号:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DNNLite.StaticFile;
using System.IO;
public partial class Manage_StaticFile : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindPage();
}
}
private void BindPage()
{
if (DNNLite.Comm.Comm.PortalInfo.StaticMode == 1)
{
rdoHotStatic.Checked = true;
}
else if (DNNLite.Comm.Comm.PortalInfo.StaticMode == 0)
{
rdoNotStatic.Checked = true;
}
else if (DNNLite.Comm.Comm.PortalInfo.StaticMode == 2)
{
rdo404Static.Checked = true;
}
IList<DNNLite.Entites.Tab.TabInfo> tabs =
DNNLite.Entites.Tab.TabInfoController.GetTabs(true, false, false);
grdPageSetting.DataSource = tabs;
grdPageSetting.DataKeyNames = new string[] { "TabId" };
grdPageSetting.DataBind();
}
#region bind methods
protected string UseOrClose(int tabid)
{
if (DNNLite.StaticFile.StaticFile.Config.ContainsKey(tabid))
{
if( ((DNNLite.StaticFile.StaticFileConfig)DNNLite.StaticFile.StaticFile.Config[tabid]).NeedStatic )
{
return "停用";
}
return "启用";
}
else
{
return "启用";
}
}
protected string GetPublishDate(int tabid)
{
if (DNNLite.StaticFile.StaticFile.Config.ContainsKey(tabid))
{
if (((DNNLite.StaticFile.StaticFileConfig)DNNLite.StaticFile.StaticFile.Config[tabid]).NeedStatic)
{
return ((DNNLite.StaticFile.StaticFileConfig)DNNLite.StaticFile.StaticFile.Config[tabid]).Expire.ToString() ;
}
return "";
}
else
{
return "";
}
}
protected bool GetCanPublish(int tabid)
{
if (DNNLite.StaticFile.StaticFile.Config.ContainsKey(tabid))
{
if (((DNNLite.StaticFile.StaticFileConfig)DNNLite.StaticFile.StaticFile.Config[tabid]).NeedStatic)
{
return true ;
}
return false ;
}
else
{
return false;
}
}
#endregion
protected void grdPageSetting_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Static")
{
int tabid = int.Parse(e.CommandArgument.ToString());
if (StaticFile.Config.ContainsKey(tabid))
{
StaticFileConfig cfg = (StaticFileConfig)StaticFile.Config[tabid];
cfg.NeedStatic = !cfg.NeedStatic;
cfg.Save();
}
else
{
StaticFileConfig cfg = new StaticFileConfig();
cfg.Expire = DateTime.Now;
cfg.NeedStatic = true;
cfg.TabId = tabid;
cfg.Create();
StaticFile.Config.Add(tabid, cfg);
}
Response.Redirect(Request.RawUrl );
}
if (e.CommandName == "Publish")
{
int tabid = int.Parse(e.CommandArgument.ToString());
StaticFileConfig cfg = (StaticFileConfig)StaticFile.Config[tabid];
cfg.Expire = DateTime.Now;
cfg.Save();
#region "如果采用404静态化法,那么需要让原html页面失效。最简单的办法就是直接把员文件夹改名处理,如此,就可以重新生成静态页了"
if (DNNLite.Comm.Comm.PortalInfo.StaticMode == 2)
{
if (tabid == DNNLite.Comm.Comm.PortalInfo.HomeTabId)
{
try
{
File.Delete(Server.MapPath("~/index.html"));
}
catch (IOException)
{
lblerr.Text += "没能成功删除文件.请手动删除此文件:index.html";
}
}
DNNLite.Entites.Tab.TabInfo tab = DNNLite.Service.SystemLoadController.GetTabInfo(tabid.ToString());
Directory.CreateDirectory( Server.MapPath("~/HTML/removed") );
if (Directory.Exists(Server.MapPath("~/HTML/pages/" + tab.TabName)))
{
try
{
Directory.Move(Server.MapPath("~/HTML/pages/" + tab.TabName+"/"), Server.MapPath("~/HTML/removed/"+ DateTime.Now.ToString("yyyyMMddHHmmss")+"/") );
}
catch (IOException)
{
lblerr.Text += "没能成功删除文件夹.请手动删除此文件夹:" + "/HTML/pages/" + tab.TabName;
}
}
if (lblerr.Text != "")
{
return;
}
}
#endregion
Response.Redirect(Request.RawUrl);
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
if (rdoHotStatic.Checked)
{
DNNLite.Comm.Comm.PortalInfo.StaticMode = 1;
Castle.ActiveRecord.ActiveRecordMediator<DNNLite.Entites.PortalInfo>.Update(DNNLite.Comm.Comm.PortalInfo );
}
else if (rdoNotStatic.Checked)
{
DNNLite.Comm.Comm.PortalInfo.StaticMode = 0;
Castle.ActiveRecord.ActiveRecordMediator<DNNLite.Entites.PortalInfo>.Update(DNNLite.Comm.Comm.PortalInfo);
}
else if (rdo404Static.Checked)
{
DNNLite.Comm.Comm.PortalInfo.StaticMode = 2;
Castle.ActiveRecord.ActiveRecordMediator<DNNLite.Entites.PortalInfo>.Update(DNNLite.Comm.Comm.PortalInfo);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -