一般來說:eval 用于單向輸出;bind 除了輸出,還可以接收客戶端提交的值。
eval
<asp:TextBox runat="server" Text='<%# Eval("CompanyName") %>'></asp:TextBox>
這種情況下,輸出 CompanyName 到客戶端后,用戶再提交,這個值還會返回給服務(wù)器端,因為它是文本框嘛,但提交是提交,沒有哪個控件會理會這個值,也就是說其提交的值不會被哪個控件使用。
所以更多的情況下,我們沒有在 TextBox 中用 Eval,而是在 Literal 中使用。
bind
<asp:TextBox id="TextBox1" runat="server" Text='<%# Bind("CompanyName") %>'></asp:TextBox>
這種情況下,輸出 CompanyName 到客戶端后,用戶再提交,這個值還會返回給服務(wù)器端,并且對應(yīng)的 DataSource 會使用這個值,比如修改時,它就會用這個值來作為修改后的值。
使用 bind 的時候,控件的 id 是必不可少的,起什么名字不重要,只要不重復(fù)就行了。
注意
eval 和 bind 的很“嬌氣”,下面的用法都是錯誤的:
<asp:Button runat="server" Text='增加點內(nèi)容<%# Eval("Id") %>' />
<asp:Button runat="server" Text='刪除' OnClientClick='del(<%# Eval("Id") %>)' />
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。