Flickr.net傻瓜教程(三)--打造自己的图片搜索引擎2
上一篇中有几个没有实现的地方,主要因为比较懒,现在补充上。
1.分页 2.flickr的方法应用
分页这个例子采用了gridview的分页(又偷懒!)其实我个人感觉,既然控件于功能干吗不用,我这个人是能省则省,写那么多代码我自己看着都累。
flickr的应用我这里主要是对photos的应用,其余的大家可以去flickr.com上看,我也是在做这个demo的时候跑到上面去看的,要是他能提供一个类的说明文件下载就好了,省得我找个方法得翻一下,太烦了。
效果图在上个例子中。
说说具体的部分吧,其实前台页面也很重要,这里就先说它。
2 ForeColor="#333333" GridLines="None" Width="100%" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" >
3 <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
4 <RowStyle BackColor="#EFF3FB" />
5 <Columns>
6 <asp:BoundField HeaderText="名称" DataField="title" >
7 <ItemStyle CssClass="center" />
8 </asp:BoundField>
9 <asp:ImageField HeaderText="图片" DataImageUrlField="SquareThumbnailUrl">
10 <ItemStyle CssClass="center" />
11 </asp:ImageField>
12 <asp:TemplateField HeaderText="尺寸">
13 <ItemTemplate>
14 <%# mydeal(Eval("photoID").ToString()) %>
15 </ItemTemplate>
16 <ItemStyle CssClass="right" />
17 </asp:TemplateField>
18 </Columns>
19 <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
20 <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
21 <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
22 <EditRowStyle BackColor="#2461BF" />
23 <AlternatingRowStyle BackColor="White" />
24 </asp:GridView>
其实这里就是自己定义了3个列,名称、图片和尺寸。前面两个不用说,都是直接绑定显示值的。关于尺寸,由于每一个图片都有若干种尺寸,需要调用flickr的方法来返回尺寸大小和图片的链接地址,所以这里不是直接绑定值,需要做个处理,我索性就写了个方法,然后<%# mydeal(Eval("photoID").ToString()) %>就OK了。
对了,另外说明一下,photoID这个很有用,在关于photos的类的应用中很多都是要使用它作为输入参数的,我找他也费劲了,一开始看说明在photo类下,可是怎末也找不到,最后才发现,返回的myPhotos.PhotoCollection就是photo的集合,谁让自己英文不好呢。
后台的关键就是mydeal的方法。
2 {
3 Sizes mySizes = myFlickr.PhotosGetSizes(inputstr);
4 //获取尺寸种类个数
5 string outstr = "";
6 int sizenum = mySizes.SizeCollection.Length;
7 for (int i = 0; i < sizenum; i++)
8 {
9 string width = mySizes.SizeCollection[i].Width.ToString();
10 string height = mySizes.SizeCollection[i].Height.ToString();
11 string linkurl = mySizes.SizeCollection[i].Source.ToString();
12 outstr += "<a href='"+ linkurl +"' target='_blank'>" + width + "×" + height + "</a><br>";
13 }
14
15 return outstr;
16 }
我的变量定义很直接,就不用说什么了吧,其余的部分,我吧源文件发上来,大家一看就明白了。
https://files.cnblogs.com/tippoint/WebSite11.rar
另外关于最后一篇,想做一个winform的例子,但是想大到做什么,大家有什么好点子吗?
如果大家喜欢我的教程,就给我留言,谢谢!