文章出處 js密碼驗證 install/js/setup.js
將內容傳送頁面

Code
string script = "<div id=\"success\" style=\"position:absolute;z-index:300;height:120px;width:284px;left:50%;top:50%;margin-left:-150px;margin-top:-80px;\">\r\n" +
" <div id=\"Layer2\" style=\"position:absolute;z-index:300;width:270px;height:90px;background-color: #FFFFFF;border:solid #000000 1px;font-size:14px;\">\r\n" +
" <div id=\"Layer4\" style=\"height:26px;background:#333333;line-height:26px;padding:0px 3px 0px 3px;font-weight:bolder;color:#fff \">操作提示</div>\r\n" +
" <div id=\"Layer5\" style=\"height:64px;line-height:150%;padding:0px 3px 0px 3px;\" align=\"center\"><br />正在執行操作,請稍等
</div>\r\n" +
" </div>\r\n" +
" <div id=\"Layer3\" style=\"position:absolute;width:270px;height:90px;z-index:299;left:4px;top:5px;background-color: #cccccc;\"></div>\r\n" +
"</div>\r\n" +
"<script> \r\n" +
"document.getElementById('success').style.display ='none'; \r\n" +
"</script> \r\n" +
"<script language=\"JavaScript1.2\" src=\"../js/divcover.js\"></script>\r\n";
base.ClientScript.RegisterClientScriptBlock(this.GetType(), "Page", script);
ajax注冊(各頁面通用ajax,js函數):register.aspx js:
emplates\default\ajax.js
發送郵件:forum/Email.cs
創建目錄

Code

/**//// <summary>
/// 創建目錄
/// </summary>
/// <param name="name">名稱</param>
/// <returns>創建是否成功</returns>
[DllImport("dbgHelp", SetLastError = true)]
private static extern bool MakeSureDirectoryPathExists(string name);
Cache: 現在將Discuz!NT的緩存架構說明如下,先請大家看一下Discuz!NT架構圖:

其實這個構架說白了就是一個標準的“策略”模式,為了對比方便,我把策略模式的結構
圖放在下面:

AES,DES加密解密:DISCUZ.Common
附:DES:Data Encryption Standard,是一種數據加密標準,現在已經不用了。它使用56位密鑰對64位的數據塊(真正數據只有57位,還有8位是校驗位)進行加密,并對64位的數據塊進行16輪編碼。與每輪編碼時,一個48位的“每輪”密鑰值由56位的完整密鑰得出來。
DES對64(bit)位的明文分組M進行操作,M經過一個初始置換IP置換成m0,將m0明文分成左半部分和右半部分m0=(L0,R0),各32位長。然后進行16輪完全相同的運算,這些運算被稱為函數f,在運算過程中數據與密匙結合。經過16輪后,左,右半部分合在一起經過一個末置換,這樣就完成了。
在每一輪中,密匙位移位,然后再從密匙的56位中選出48位。通過一個擴展置換將數據的右半部分擴展成48位,并通過一個異或操作替代成新的32位數據,在將其置換換一次。這四步運算構成了函數f。然后,通過另一個異或運算,函數f的輸出與左半部分結合,其結果成為新的右半部分,原來的右半部分成為新的左半部分。將該操作重復16次,就實現了。
因為是對稱加密,解密和加密的過程一樣,密鑰也一樣。
遍歷目錄文件,讀取刪除操作(admin/global/
global_avatargrid.aspx)

Code
public string avatar;
public DataTable avatarfilelist;

protected void Page_Load(object sender, EventArgs e)

{
if (!Page.IsPostBack)

{
LoadAvatarInfo();
}
}


public void LoadAvatarInfo()

{

加載頭像數據#region 加載頭像數據

avatarfilelist = new DataTable("avatarlist");
avatarfilelist.Columns.Add("filenamepath", Type.GetType("System.String"));
avatarfilelist.Columns.Add("filename", Type.GetType("System.String"));
avatarfilelist.Columns.Add("_id", Type.GetType("System.Int32"));

DirectoryInfo dirinfo = new DirectoryInfo(Server.MapPath("http://www.cnblogs.com/avatars/common/"));
int i = 1;
foreach (FileSystemInfo file in dirinfo.GetFileSystemInfos())

{
if (file != null)

{
string extname = file.Extension.ToLower();

if (extname.Equals(".jpg") || extname.Equals(".gif") || extname.Equals(".png"))

{
DataRow dr = avatarfilelist.NewRow();
if (DNTRequest.GetString("path") == "1")

{
dr["filename"] = file.Name.Split('.')[0];
}
else

{
dr["filename"] = file.Name;
}
dr["filenamepath"] = "avatars\\common\\" + file.Name;
dr["_id"] = i;
i++;
avatarfilelist.Rows.Add(dr);
}
}
}

foreach (DataRow avatarfile in avatarfilelist.Rows)

{
vatarshow.Text += " <td width=\"25%\" align=\"center\"><img width=100 height=100 src=\"../../" + avatarfile["filenamepath"].ToString().Trim() + "\" title=\"" + avatarfile["filename"].ToString() + "\" \r\n";
if (avatarfile["filename"].ToString().Trim() == "")

{
vatarshow.Text += " style=\"border-style:dashed;border-width:2px;border-color:#FF0000\"\r\n";
}
vatarshow.Text += " /><br />\r\n";
vatarshow.Text += " <INPUT id=\"id\" onclick=\"javascript:SH_SelectOne(this)\" type=\"checkbox\" value=\"" + avatarfile["filenamepath"].ToString() + "\" name=\"id\"\r\n";
vatarshow.Text += " /> " + avatarfile["filename"].ToString() + "</td>\r\n";
if (Utils.StrToInt(avatarfile["_id"].ToString().Trim(), 0) % 4 == 0)

{
vatarshow.Text += " </tr>\r\n";
vatarshow.Text += " <tr>\r\n";
}
}

#endregion
}

private void DeleteAvatar_Click(object sender, EventArgs e)

{

刪除選中的頭像#region 刪除選中的頭像

if (this.CheckCookie())

{
if (DNTRequest.GetString("id") != "")

{
foreach (string filepathname in DNTRequest.GetString("id").Split(','))

{
if (Utils.FileExists(Utils.GetMapPath(@"..\..\" + filepathname)))

{
File.Delete(Utils.GetMapPath(@"..\..\" + filepathname));
}
}

Discuz.Cache.DNTCache cache = Discuz.Cache.DNTCache.GetCacheService();
cache.RemoveObject("/Forum/CommonAvatarList");

base.RegisterStartupScript( "PAGE", "window.location.href='global_avatargrid.aspx';");
}
else

{
base.RegisterStartupScript( "", "<script>alert('您未選中任何選項');</script>");
}
}

#endregion
}

private void UpdateAvatarCache_Click(object sender, EventArgs e)

{

更新頭像緩存#region 更新頭像緩存

if (this.CheckCookie())

{
Discuz.Cache.DNTCache cache = Discuz.Cache.DNTCache.GetCacheService();
cache.RemoveObject("/Forum/CommonAvatarList");
base.RegisterStartupScript( "PAGE", "window.location.href='global_avatargrid.aspx';");
}

#endregion
}
操作時顯示等待圖片-global_templatesgrid.aspx
<script type="text/javascript">
function CreateTemplate(pathname)
{
if(confirm("生成" + pathname + "下所有模板的操作非常耗時,確認要繼續嗎?"))
{
document.getElementById('success').style.display = 'block';
//document.getElementById('Layer5').style.width='400px';
document.getElementById('Layer5').innerHTML='<BR /><table><tr><td valign=top><img border=0 src=../images/ajax_loading.gif /></td><td valign=middle style=font-size:14px;>正在生成'+pathname+'文件夾下的模板, <BR />請稍等...<BR /></td></tr></table><BR />';
window.location="?createtemplate=" + pathname;
}
}
</script>

Code
1
public void RegisterAdminPageClientScriptBlock()
2
{
3
string script = "<div id=\"success\" style=\"position:absolute;z-index:300;height:120px;width:284px;left:50%;top:50%;margin-left:-150px;margin-top:-80px;\">\r\n" +
4
" <div id=\"Layer2\" style=\"position:absolute;z-index:300;width:270px;height:90px;background-color: #FFFFFF;border:solid #000000 1px;font-size:14px;\">\r\n" +
5
" <div id=\"Layer4\" style=\"height:26px;background:#f1f1f1;line-height:26px;padding:0px 3px 0px 3px;font-weight:bolder;\">操作提示</div>\r\n" +
6
" <div id=\"Layer5\" style=\"height:64px;line-height:150%;padding:0px 3px 0px 3px;\" align=\"center\"><BR /><table><tr><td valign=top><img border=\"0\" src=\"../images/ajax_loading.gif\" /></td><td valign=middle style=\"font-size: 14px;\" >正在執行當前操作, 請稍等
<BR /></td></tr></table><BR /></div>\r\n" +
7
" </div>\r\n" +
8
" <div id=\"Layer3\" style=\"position:absolute;width:270px;height:90px;z-index:299;left:4px;top:5px;background-color: #E8E8E8;\"></div>\r\n" +
9
"</div>\r\n" +
10
"<script> \r\n" +
11
"document.getElementById('success').style.display = \"none\"; \r\n" +
12
"</script> \r\n" +
13
"<script language=\"JavaScript1.2\" src=\"../js/divcover.js\"></script>\r\n";
14
15
#if NET1
16
RegisterClientScriptBlock("Page", script);
17
#else
18
ClientScript.RegisterClientScriptBlock(this.GetType(), "Page", script);
19
#endif
20
}
------------不斷更新