替代Eval的兩種方式

2022-01-17 19:36:11 字數 1443 閱讀 9466

在asp.net中的資料繫結中,我們經常會用到eval,不過大家都知道eval繫結是通過反射來實現的, 而反射勢必會對效能造成一定的影響。不過有兩種替代的方式來實現繫結資料,對效能略有提高。

1 當資料來源為datatable時,用下面的方式:

後台**

protected void 

page_load(

object

sender,

eventargs

e) rptuser.datasource = dt;

rptuser.databind();

}

前台**
<

asp:

repeater

id="rptuser"

runat

="server">

<

itemtemplate

>

姓名:<%

# ((datarowview)(container.dataitem))[

"name"

] %>

年齡:<%

# ((datarowview)(container.dataitem))[

"age"

]%>

<

br />

itemtemplate

>

asp:

repeater

>

2 當資料來源為泛型類時,用下面的方式。

後台**

protected void 

page_load(

object

sender,

eventargs

e) rptuser.datasource = user;

rptuser.databind();

}

前台**
<

asp:

repeater

id="rptuser"

runat

="server">

<

itemtemplate

>

姓名:<%

# (container.dataitem

as user).name

%>

年齡:<%

# (container.dataitem

as user).age

%>

<

br />

itemtemplate

>

asp:

repeater

>

經過測試在10w以上資料量的時候效能差別才比較明顯,而我們平時做資料繫結的時候通常都是用的分頁儲存過程或其他的分頁方式,每頁最多幾十條資料,所以我認為eval在效能上的損耗並不構成效能瓶頸。

C DLL匯出的兩種方式和鏈結的兩種方式

第一種 匯出方式 extern c declspec dllexport int plus int x,int y extern c declspec dllexport int sub int x,int y extern c declspec dllexport int mul int x,in...

兩種過載方式

過載的方式 用某次作業題中的實現complex類做例子 1 實現加法 1 complex complex operator const complex c 2 友元函式 complex operator const complex l,const complex r 2 實現 1 complex c...

HTTP FLV的兩種方式

目前,有兩種http flv的實現方式,一種是基於檔案的方式,一種是基於包的方式 兩種http flv的相同之處在於,都是http方式輸出,都是flv 格式 兩種http flv的不同之處在於 1 架構上,乙個 基於包的架構更偏實時,基於包,基於收到包,包。基於檔案的架構,邊寫檔案,邊output給...