近日二次开发一套blog系统,发现在photo页面中,前台源码中有代码
<img src="updata/small/<%# Eval("photo_smallpath") %>" alt="<%# Eval("photo_edit") %>" />使我感觉奇怪,因为运行后,指向图片就有数据库对应表中photo_edit字段对该图片的描述,好生兴趣.
先复习下
asp.net(C#)用datagrid(gridView)和datalist显示数据
SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=sa;database=your databease");
con.open();
string Provincesql = "Select * FROM table1";
SqlCommand comm = new SqlCommand(Provincesql, conn);
SqlDataReader dr = comm.ExecuteReader();
datagrid1.DataSource = dr;
datagrid1.DataBind();
datalist如下:
SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=sa;database=your databease");
con.open();
string Provincesql = "Select * FROM table1";
SqlDataAdapter adapter = new SqlDataAdapter(Provincesql, conn);
DataSet ds = new DataSet();
adapter.Fill(ds, "company");
DataList1.DataSource=ds;
DataList1.DataBind();
页面部分的操作如下:
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"field(在table1中的任意字段)") %>
</ItemTemplate>
</asp:DataList>
红色显示能在ItemTemplate里面显示出数据库的东西,哇,有这等事情???!第一次接触哦。
在我做的blog中,
<ItemTemplate>
<td>
<table border=1 bordercolor="#000000"><tr ><td><a href="updata/<%# Eval("photo_bigpath") %>"rel="lightbox[roadtrip]"><img src="updata/small/<%# Eval("photo_smallpath") %>" alt="<%# Eval("photo_edit") %>" /></a><br />
<%# Eval("photo_name") %></td></tr></table></td>
</ItemTemplate>
测试明显感觉到是就该页面有交互过程,需要等一秒左右,才出现数据库中的数据,作为鼠标指针的提示,这就有异步感觉了.兴奋中。原来这里就是asp.net ajax2.0的开发应用例子.还有好多例子是用该类似方法显示数据的。
感觉这个eval()就像Java里的源代码调用自己的.class一样,eval()自己可以自我编译,eval()后的字符串就有了指针的灵性!!!
ajax,我会学习你,你逃不掉了。