我需要一些帮助来理解Eval位的作用(刚开始学习C#.net):
<asp:Image
ID="Image1"
ImageUrl='<%# Eval("Name", "~/UploadImages/{0} %>'
...
图像位于数据列表转发器中,该转发器已绑定到包含图像文件的文件夹中。
我对“名字”和{0}感到困惑。这些是什么意思,在什么情况下我可以改变它们。
答案 0 :(得分:4)
aspx或ascx文件中的Eval语句通常用于动态计算绑定到数据绑定控件中当前行的项的上下文中的绑定语句。
第一个参数是要绑定到行的属性/字段。第二个参数是可选格式字符串。在呈现输出文本时,{0}将替换为Name属性的值。
这是相关的doc。享受!
答案 1 :(得分:1)
这是一个格式字符串。无论属性评估什么,称之为evalResult,eval的第一个参数都通过String.Format("~/UploadImages/{0}", evalResult)
因此,如果名称的数据集字段中的值为“Steve.jpg”,则您的网格将显示:
<img src="/UploadImages/Steve.jpg" ... />
有关Eval的更多信息,请查看msdn:http://msdn.microsoft.com/en-us/library/2d76z3ck.aspx
答案 2 :(得分:0)
在这种情况下,“名称”的内容将插入占位符{0}。
这样,如果你有
Name = "ImageName"
你的ImageUrl将是
ImageUrl="~/UploadImages/ImageName"
这在动态实例中很有用,因为对于每个对象,转发器将相应地更改Name属性以形成图像URL。