几种绑定的区别

下面的几种绑定的区别,以及什么时候用哪些绑定?

    1、     <%# DataBinder.Eval(Container.DataItem,"Subject") %>

     2、   <%# (Eval("con")%>

      3、     <%# Bind("con") %>

    4、    <%= ((GuestBook)Session["gbook"]).Gb_title %>

--------------------------------------------------------------------------------------------------------

<%# 表示数据绑定,

Eval是对数据的只读绑定,被绑定的子控件所属的父控件(比如GridView)不能用此子控件接收用户输入的修改。Bind是双向绑定,所谓双向,是数据源---显示界面的双向数

据流动,即读/写。
Eval可以替换为Bind,但会降低性能;反之不能替换。
Container即容器,指父控件;DataItem指父控件所绑定的数据源的当前行,不是字段。

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

以下两种的显示是相同的

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

而<%=表示输出变量和Response.Write(xx)等效

上面说的很详细

但注意不要用Bind替换Eval ,否则你会遇到安全问题,比如将数据Bind到Label,用户无法直接更改Label的值,但是可以通过Firebug之类的插件篡改,这是很危险的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值