關於DataBinder.Eval和Eval

 DataBinder.Eval的基本格式
DataBinder.Eval(Container.DataItem,"XXX","{0}")
<%# DataBinder.Eval(Container.DataItem,"xxxx")%>
<%# DataBinder.Eval(Container,"DataItem.xxxx")%>

問題1、他們是有什麼不同?
問題2、他們是否可以相互替換?
問題3、DataBinder.Eval(Container.DataItem,"") 這個Container和DataItem分別都是什麼?

答1:Eval是對數據的只讀綁定,被綁定的子控件所屬的父控件(比如GridView)不能用此子控件接收用戶輸入的修改。Bind是雙向綁定,所謂雙向,是數據源---顯示界面的雙向數

據流動,即讀/寫。
答2:Eval可以替換爲Bind,但會降低性能;反之不能替換。
答3:Container即容器,指父控件;DataItem指父控件所綁定的數據源的當前行,不是字段。

如果只是顯示值<%#Eval("字段名")%>就可以了.
如果是要修改值<%#Bind("字段名")%>就可以了.

 

以下兩種的顯示是相同的

<%# Eval("name") %>

<%# DataBinder.Eval(Container.DataItem,"sex") %>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章