博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Eval与DataBinder.Eval的区别
阅读量:6602 次
发布时间:2019-06-24

本文共 959 字,大约阅读时间需要 3 分钟。

DataBinder.Eval的基本格式

DataBinder.Eval(Container.DataItem,"XXX","{0}")
<%# DataBinder.Eval(Container.DataItem,"xxxx")%>或者<%# DataBinder.Eval(Container,"DataItem.xxxx")%> 
还有一种据说微软说效率很高的方式
<%# ((DataRowView)Container.DataItem)["xxxx"]%> 但是这种方式必须要在前台页面导入名称空间System.Data,否则会生成错误信息<%@ Import namespace="System.Data" %>

 

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

转载于:https://www.cnblogs.com/ChineseMoonGod/p/5966679.html

你可能感兴趣的文章
genimage.cfg.template hacking
查看>>
DataTable转换成json字符串
查看>>
RecyclerView重用导致的元素重复问题
查看>>
iOS网络协议----HTTP/TCP/IP浅析
查看>>
ubuntu 12.04 安装 redis
查看>>
基于多线程实现套接字服务端支持并发
查看>>
IOS_CGRect
查看>>
Sql Server中不常用的表运算符之APPLY(1)
查看>>
【DM642】ICELL Interface—Cells as Algorithm Containers
查看>>
linux所有命令失效的解决办法
查看>>
力扣算法题—085最大矩阵
查看>>
svs 在创建的时候 上传文件夹 bin obj 这些不要提交
查看>>
mysql-用命令导出、导入表结构或数据
查看>>
Tinkphp
查看>>
EntityFrameworkCore 一对一 && 一对多 && 多对多配置
查看>>
How to temporally disable IDE tools (load manually)
查看>>
Vue.js学习 Item4 -- 数据双向绑定
查看>>
几种排序方式的java实现(01:插入排序,冒泡排序,选择排序,快速排序)
查看>>
test--构造函数写法
查看>>
server application unavailable
查看>>