c#簡單文章管理系統後台原始碼
網上的cms功能太強大,我寫的**只是簡單的實現了cms中的文章管理功能部分
開發環境 vs2008 sqlexpress2005
1.後台登陸頁面
圖一if (session["validatecode"].tostring() == this.tbvalidatecode.text.toupper())
if (adminmanager.exist("username='" + commonfunctions.antisqlin(this.tbusername.text) + "' and password='" + commonfunctions.antisqlin(this.tbpassword.text) + "'"))
admin admin= adminmanager.getlist(0, "username='" + this.tbusername.text + "' and password='" + this.tbpassword.text + "'", "")[0];
loginlog loginlog = new loginlog();
loginlog.addtime = system.datetime.now;
loginlog.status = 0;
loginlog.ip = request.userhostaddress;
loginlog.userid = admin.id;
loginlog.type = 5;
loginlogmanager.addloginlog(loginlog);
session["adminuser"] = admin;
response.redirect("index.htm");
else
commonfunctions.showmessage(page, "賬號或密碼錯誤", "");
else
commonfunctions.showmessage(page, "驗證碼錯誤", "");
2.登陸後的系統介面
圖二文章列表主要**
public void binddata()
pageddatasource pds = new pageddatasource();
string sql = "1=1 ";
if (txtkeyword.text.trim() != "")
sql += " and title like '%" + commonfunctions.antisqlin(txtkeyword.text.trim()) + "%'";
ilistlist = articlemanager.getlist(0, sql + "and categoryid=6 and status=0", "id desc");
pds.datasource = list;
pds.allowpaging = true;
pds.pagesize = this.aspnetpager1.pagesize;
pds.currentpageindex = this.aspnetpager1.currentpageindex - 1;
replist.datasource = pds;
replist.databind();
this.aspnetpager1.recordcount = list.count;
分頁用的aspnetpager1 控制項
主要**
protected void aspnetpager1_pagechanging(object src, wuqi.webdiyer.pagechangingeventargs e)
this.aspnetpager1.currentpageindex = e.newpageindex;
binddata();
3.新增文章頁面
圖三model = new article();
model.categoryid = convert.toint32(this.ddlcategory.selectedvalue);
model.addtime = system.datetime.now;
model.status = 0;
tryarticlemanager.addarticle(model);
commonfunctions.showmessage(page, "新增成功", "articlelist.aspx");
catch (exception ex)
commonfunctions.showmessage(page, ex.tostring(), "");
4.文章管理頁面
圖4刪除文章**
protected void gvlist_rowdeleting(object sender, gridviewdeleteeventargs e)
article article = articlemanager.getarticlebyid(convert.toint32(gvlist.datakeys[e.rowindex].value));
article.status = 1;
articlemanager.modifyarticle(article);
binddata();
光棒效果,文章編號**
protected void gvlist_rowdatabound(object sender, gridviewroweventargs e)
if (e.row.rowindex != -1)
int id = (e.row.rowindex + 1) + gvlist.pagesize * gvlist.pageindex;
e.row.cells[0].text = id.tostring();
if (e.row.rowtype == datacontrolrowtype.datarow)
e.row.attributes.add("onmouseover", "currentcolor=this.style.backgroundcolor;this.style.backgroundcolor='#e9f4fd'");
e.row.attributes.add("onmouseout", "this.style.backgroundcolor=currentcolor");
分頁**
protected void gvlist_pageindexchanging(object sender, gridviewpageeventargs e)
gvlist.pageindex = e.newpageindex;
binddata();
5.異常頁面
圖56.過濾跨站**直接用的微軟的antixss類庫
7.異常記錄**
通過global.asax檔案實現的
// 在出現未處理的錯誤時執行的**
string referrer = (request.urlreferrer != null) ? request.urlreferrer.absoluteuri : string.empty;
8.資料庫連線**
9.session超時時間設定 可以通過 inproc 方式或者是通過stateserver方式
推薦stateserver,用inproc時session容易丟失
10.session登陸驗證用的httpmodules處理
void context_acquirerequeststate(object sender, eventargs e)
if (ha.context.session == null)
return;
if (ha.context.session["adminuser"] == null)
string str=ha.context.request.url.absolutepath.tolower();
if (str.indexof("/system") == 0 && str != "/system/login.aspx")
ha.context.response.write("");
ha.context.response.end();
11.登入賬號 admin szcms
學生管理系統原始碼C
舜發於畎畝之中,傅說舉於版築之間,膠鬲舉於魚鹽之中,管夷吾舉於士,孫叔敖舉於海,百里奚舉於市。故天將降大任於是人也,必先苦其心志,勞其筋骨,餓其體膚,空乏其身,行拂亂其所為,所以動心忍性,曾益其所不能。下面是一段c 的學生管理系統原始碼,可直接執行在軟體上。include define n 20 u...
簡單文章管理系統
花了一天的時間,對文章系統於2016 10 29進行了優化。並把kindeditor編輯器換成了ueditor編輯器。改變了一些布局 美化一些布局,和樣式的調整 管理中心的新建檔案可以建立基於quartz的文章。在指定時間發布 但是ueditor的主題並不適合本系統,正在想辦法進行替換,嘿嘿 花了一...
管理系統的原始碼
基本思路如下 1.成員基類person,學生類students與教師類teacher繼承person 2.操作基類operationpage,新增 刪除 修改 查詢類 繼承自operationpage 3.主函式裡初始化資料庫資訊,例項化loginpage類,loginpage選擇登入教師還是學生,...