主頁(yè) > 知識(shí)庫(kù) > 讓aspx頁(yè)面自主控制調(diào)用記錄的數(shù)量,類型,隨時(shí)更改,不用重新編譯的實(shí)現(xiàn)方法

讓aspx頁(yè)面自主控制調(diào)用記錄的數(shù)量,類型,隨時(shí)更改,不用重新編譯的實(shí)現(xiàn)方法

熱門標(biāo)簽:手機(jī)外呼系統(tǒng)什么原理 400電話個(gè)人能不能辦理 天津電銷外呼系統(tǒng)違法嗎 滄州電銷外呼系統(tǒng)價(jià)格 溫州外呼系統(tǒng)招商 合肥ai電銷機(jī)器人費(fèi)用 凱立德地鐵站地圖標(biāo)注 銀行信貸電話機(jī)器人 上海400客服電話怎么申請(qǐng)
然而,殺雞焉用牛刀,對(duì)于小型站點(diǎn),我們完全可以從.net強(qiáng)大的功能中,翻出一些來(lái)方便我們使用.
我們知道一個(gè)頁(yè)面經(jīng)常會(huì)調(diào)用很多數(shù)據(jù),有列表,有單條的,特別是列表,我們經(jīng)常為不同的列表在.cs文件寫不同的方法,一一采用"列表.DataSource=數(shù)據(jù)源;列表.DataBind();來(lái)完成綁定,這令到我們的 cs頁(yè)面雍腫不堪!!!我經(jīng)常有要推倒重來(lái)的沖動(dòng),但周而復(fù)始,我又寫出一堆拉圾-_-!.好吧,這次我決定只寫一個(gè)方法,不到15行的方法,就滿足整個(gè)頁(yè)面文章的調(diào)用.

我們需要用到的常識(shí)有"后期綁定","先運(yùn)行CS再aspx",相信大家都已經(jīng)具備.我們言歸正傳:
第一步:首先在cs中定義一個(gè)受保護(hù)的方法:
復(fù)制代碼 代碼如下:

/// summary>
/// 獲取新聞數(shù)據(jù)列表
/// /summary>
/// param name="num">請(qǐng)求數(shù)量/param>
/// param name="cateId">類別ID/param>
/// param name="isTop">是否置頂/param>
/// param name="isCommend">是否推薦/param>
/// returns>一個(gè)新聞數(shù)據(jù)集,News是新聞,當(dāng)然,ListXXXX>名稱取決于你的數(shù)據(jù)源/returns>
protected ListNews> GetNewsData(int num,int cateId,int isTop,int isCommend){
if (num 0) num = 0;
ListNews> result = new ListNews>();
ExpressionFuncNews, bool>> expr = PredicateExtensionses.TrueNews>();
if (isPic) {
expr = expr.And(c => c.IsPic == 1);
}
if (cateId > 0) {
expr = expr.And(c => c.cateId == cateId);
}
if (isTop > -1) {
expr = expr.And(c => c.IsTop == isTop);
}
if (isCommend > -1) {
expr = expr.And(c => c.IsCommend == isCommend);
}
return nm.AllNews.Where(expr).OrderByDescending(c=>c.ID).Take(num).ToList();
}

第二步:在Page_Load方法中,調(diào)用DataBind();
復(fù)制代碼 代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
DataBind();
}

以上是我方法的全部,這里要說一下的是調(diào)用業(yè)務(wù)邏輯中一個(gè)創(chuàng)建表達(dá)式樹的公共類,這個(gè)類在這里(https://www.jb51.net/article/28043.htm ),及通用業(yè)務(wù)邏輯類;
第三步,接下來(lái)是我們的aspx調(diào)用了.這里我用最簡(jiǎn)單的Repeater來(lái)說明!
復(fù)制代碼 代碼如下:

asp:Repeater ID="Repeater6" runat="server" DataSource='%#GetNewsData(10,3548,-1,-1)%>'>
ItemTemplate>
%#Eval("Subject")%>
/ItemTemplate>
/asp:Repeater>

好了,所有工作結(jié)束.以后要調(diào)用其它的類別,或者數(shù)量要改變時(shí),只需要在頁(yè)面上改動(dòng)就行了,不需要改動(dòng).cs和編譯!
是不是挺方便?
關(guān)于DataBind()的說明,為什么要在Page_load中寫DataBind(),這是提前給數(shù)據(jù)源以數(shù)據(jù)!否則,因?yàn)楹笃诮壎ǖ年P(guān)系,會(huì)令到數(shù)據(jù)控件找不到數(shù)據(jù)源而報(bào)錯(cuò)!

標(biāo)簽:七臺(tái)河 赤峰 溫州 酒泉 白城 洛陽(yáng) 金華 怒江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《讓aspx頁(yè)面自主控制調(diào)用記錄的數(shù)量,類型,隨時(shí)更改,不用重新編譯的實(shí)現(xiàn)方法》,本文關(guān)鍵詞  讓,aspx,頁(yè)面,自主,控制,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《讓aspx頁(yè)面自主控制調(diào)用記錄的數(shù)量,類型,隨時(shí)更改,不用重新編譯的實(shí)現(xiàn)方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于讓aspx頁(yè)面自主控制調(diào)用記錄的數(shù)量,類型,隨時(shí)更改,不用重新編譯的實(shí)現(xiàn)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章