一个数据绑定的问题

alicc 2007-04-21 01:17:44
额问个问题: 如果一个girdview的 数据源是 datatable 那么每一行的数据绑定应该是邦在datarow上,也就是说<%# Eval("Title") %> 其实就是 datarow["Title"] 。上面这样的陈述句应该没有错误吧。 那么现在我自己定义了一个实体,该实体有个索引器public Object this[String key]
{
get
{
return key;
}
}
我想我这个索引器和DataRow里的那个索引器除了get中间的代码不一样。 其他应该都一样。 于是我在gridview中绑定了一个该实体的列表, 每一行应该是个改实体, 然后我就<%# Eval("Title") %> 来输出,按理说应该是输出Title才对的,因为我的索引器是什么字符进来就出来什么,结果确实出错:“说实体没有该属性”。 但是为什么 DataRow的索引器就可以被绑定,我自己定义的却不行??
...全文
129 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
alicc 2007-04-21
  • 打赏
  • 举报
回复
我的意思是 为什么 datarow["Title"] 能被绑定 我的类myclass["Title"]就不能绑定?
goodluckalong 2007-04-21
  • 打赏
  • 举报
回复
在最终编译出来的IL代码中,你的属性访问器是被编译成方法的,而不是字段
alicc 2007-04-21
  • 打赏
  • 举报
回复
datarow["Title"] 这个难道不是 索引器吗
难道datarow就有 Title的属性吗 也是没有的啊

也是通过索引器来访问的啊


datarow.Title照样是不能访问的
huangdong1900 2007-04-21
  • 打赏
  • 举报
回复
楼上说的好
weizhuangzhi 2007-04-21
  • 打赏
  • 举报
回复
因为datatable中有Title的DataRow,而你的实体中没有Title的属性,你的那个索引器只是相当于是一个方法,不是实体的实际数据,所以不能绑定。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧