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") %>