孫翠華 胡元軍 戈勇
摘要:文章首先分析了課程資源平臺(tái)的總體架構(gòu),以《.NET動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)》課程為例,設(shè)計(jì)了平臺(tái)的各個(gè)功能模塊,分析了主要技術(shù)模塊類(lèi)型管理和文章管理的LINQ實(shí)現(xiàn)。
關(guān)鍵詞:課程資源平臺(tái);課程網(wǎng)絡(luò)平臺(tái);LINQ;資源平臺(tái)
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)27-0018-02
1 平臺(tái)開(kāi)發(fā)環(huán)境
《.NET動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)》課程網(wǎng)絡(luò)資源平臺(tái)基于Visual Studio 2013(NET4.0、C#)語(yǔ)言和SQL Server2012數(shù)據(jù)庫(kù)開(kāi)發(fā),使用Linq To SQL技術(shù)對(duì)數(shù)據(jù)進(jìn)行處理,使用DIV+CSS進(jìn)行頁(yè)面布局。
2 平臺(tái)功能模塊設(shè)計(jì)
《.NET動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)》課程網(wǎng)絡(luò)資源平臺(tái)后臺(tái)主功能模塊由六大部分組成,分為系統(tǒng)管理、教學(xué)指導(dǎo)區(qū)、資料下載區(qū)、交流討論區(qū)、成果展示區(qū)和效果評(píng)價(jià)區(qū),其中【系統(tǒng)管理】模塊包含七個(gè)功能,分別是班級(jí)管理、專(zhuān)業(yè)管理、文件類(lèi)型管理、學(xué)校指導(dǎo)教師管理、企業(yè)指導(dǎo)教師管理、學(xué)生管理和學(xué)生分?jǐn)?shù)管理,【教學(xué)指導(dǎo)區(qū)】模塊包含四個(gè)功能,分別是異步視頻、同步視頻、作業(yè)發(fā)布和作業(yè)檢查,【資料下載區(qū)】模塊包含四個(gè)功能,分別是教學(xué)課件、教學(xué)文件、管理文件和學(xué)生自學(xué)相關(guān)材料,【交流討論區(qū)】模塊包含兩個(gè)功能,分別是討論區(qū)設(shè)置和交流討論,【成果展示區(qū)】模塊包含四個(gè)功能,分別是學(xué)生作品展示、學(xué)生風(fēng)采展示、教師風(fēng)采展示和工作室成果展示,【效果評(píng)價(jià)區(qū)】模塊包含三個(gè)功能,分別是評(píng)價(jià)時(shí)間設(shè)置、查看所有評(píng)價(jià)和我的評(píng)價(jià),平臺(tái)功能模塊如圖1所示。
3 主要技術(shù)的實(shí)現(xiàn)
在平臺(tái)的功能模塊中,雖然分成了很多子模塊,在系統(tǒng)實(shí)現(xiàn)過(guò)程中,主要分為類(lèi)型管理和文章管理兩大塊,其中類(lèi)型管理如班級(jí)管理、專(zhuān)業(yè)管理、文件類(lèi)型管理等都可以定義為類(lèi)型管理功能來(lái)實(shí)現(xiàn),異步視頻、同步視頻、作業(yè)發(fā)布、教學(xué)課件、教學(xué)文件、管理文件等都可以歸納為文章管理來(lái)實(shí)現(xiàn)。
3.1 類(lèi)型管理技術(shù)的實(shí)現(xiàn)
類(lèi)型管理通過(guò)對(duì)類(lèi)型的增查改刪來(lái)實(shí)現(xiàn)管理功能。
(1)定義一個(gè)Loaddate方法,通過(guò)Linq的聯(lián)合查詢(xún),查詢(xún)到類(lèi)型數(shù)據(jù):
var data = from a in db.BigClass
orderby a.ID descending
select new
{ a.BigName,
a.ID
};
gvBigClass.DataSource = data;
gvBigClass.DataBind();
(2)類(lèi)型的編輯功能通過(guò)btnEdit_Click()事件實(shí)現(xiàn):
int id;
if (Int32.TryParse(((LinkButton)sender).CommandArgument, out id))
{
BigClass obj = db.BigClass.FirstOrDefault(a => a.ID == id);
if (obj != null)
{
this.txtEdit.Text = obj.BigName;
this.HiddenField1.Value = obj.ID.ToString();
}
}
(3) 類(lèi)型的刪除功能通過(guò)btnDel_Click()事件實(shí)現(xiàn):
int id;
if (Int32.TryParse(((LinkButton)sender).CommandArgument, out id))
{
BigClass obj = db.BigClass.FirstOrDefault(a => a.ID == id);
if (obj != null)
{
db.BigClass.DeleteOnSubmit(obj);
var sm = db.SmallClass.Where(a => a.BigID == id);
if (sm != null)
{ db.SmallClass.DeleteAllOnSubmit(sm); }
var art = db.Article_table.Where(a => a.BigID == id);
if (art != null)
{ db.Article_table.DeleteAllOnSubmit(art); }
db.SubmitChanges();
Loaddate();
}
}
3.2文章管理技術(shù)的實(shí)現(xiàn)
(1)首先通過(guò)聯(lián)合查詢(xún),查詢(xún)到四張表格文章表、大類(lèi)表、小類(lèi)表和管理表中的數(shù)據(jù):
AdminList adm = (AdminList)Session["LOG"];
var data = from a in db.Article_table
join b in db.BigClass on a.BigID equals b.ID
join c in db.SmallClass on a.SmallID equals c.ID
join d in db.AdminList on a.AddID equals d.ID
orderby a.ID descending
select new
{
a.ArticleTitle,
a.AddTime,
a.ID,
b.BigName,
a.BigID,
c.SmallName,
d.UserName,
a.AddID
};
(2)對(duì)查詢(xún)到數(shù)據(jù)分別判斷:
①如果不是管理員只能顯示本人添加的文章
if (adm.Poperdom != 0)
{ data = data.Where(a => a.AddID == adm.ID); }
②如果關(guān)鍵詞不為空剛顯示標(biāo)題包含關(guān)鍵字的文章列表
if (this.keyword.Text != "")
{ data = data.Where(a => a.ArticleTitle.Contains(this.keyword.Text)); }
③如果選擇了大類(lèi)顯示該大類(lèi)下的所有文章
if (this.big.SelectedItem.Value != "")
{ data = data.Where(a => a.BigID == Int32.Parse(this.big.SelectedItem.Value)); }
(3)btnEdit_Click事件實(shí)現(xiàn)文章的編輯功能:
if (Int32.TryParse(((LinkButton)sender).CommandArgument, out id))
{Response.Redirect("articleedit.aspx?id=" + id); }
(4)btnDel_Click()事件實(shí)現(xiàn)文章的刪除功能:
Article_table obj = db.Article_table.FirstOrDefault(a => a.ID == id);
if (obj != null)
{
db.Article_table.DeleteOnSubmit(obj);
db.SubmitChanges();
Loaddate();
}
4 總結(jié)
《.NET動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)》課程資源平臺(tái)采用LINQ技術(shù)來(lái)實(shí)現(xiàn),簡(jiǎn)化了代碼的編寫(xiě)量,平臺(tái)運(yùn)行的學(xué)生作品展示界面如圖2所示,對(duì)于高職院校軟件開(kāi)發(fā)專(zhuān)業(yè)的學(xué)生來(lái)說(shuō),LINQ技術(shù)更容易掌握,該資源平臺(tái)本身就可以作為一個(gè)典型的項(xiàng)目案例來(lái)學(xué)習(xí)。
參考文獻(xiàn):
[1] 徐照興. NET平臺(tái)下LINQ TO SQL關(guān)鍵技術(shù)的實(shí)踐研究[J]. 湖北科技學(xué)院學(xué)報(bào),2015,35(3):6-7.
[2] 方生. 基于.NET的LINQ to SQL三層架構(gòu)的研究與實(shí)現(xiàn)[J]. 電腦知識(shí)與技術(shù),2014,10(12): 2743-2746.
[3] 陳建華,胡開(kāi)明. 基于C#.NET的LINQ TO SQL查詢(xún)[J]. 鄂州大學(xué)學(xué)報(bào),2014,21(7): 97-98.
[4] 李成,張坤,田吉. LINQ技術(shù)在科技獎(jiǎng)勵(lì)申報(bào)系統(tǒng)研發(fā)中的應(yīng)用[J]. 安慶師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2014,20(4):84-86.
[5] 孫翠華. 高職院校《.NET動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)》課程教學(xué)改革的探討[J]. 電腦知識(shí)與技術(shù),2014,10(31):7366-7367.
[6] 婁立志. 教師教育課程平臺(tái)頂層設(shè)計(jì)的理念與構(gòu)想——搭建與基礎(chǔ)教育改革相溝通的橋梁[J]. 教育研究,2012(12):100-104.
[7] 曹剛,于欣言,楊晨. 深度課程改革下Moodle開(kāi)放式課程平臺(tái)的應(yīng)用研究[J]. 實(shí)驗(yàn)技術(shù)與管理,2013,30(1):184-187.
[8] 孫翠華,王鋒.基于PhoneGap的跨平臺(tái)枇杷病害診斷系統(tǒng)設(shè)計(jì)[J]. 湖北農(nóng)業(yè)科學(xué),2015,54(19):4826-4828.