Flickr.net傻瓜教程(三)打造自己的图片搜索引擎2

    上一篇中有几个没有实现的地方,主要因为比较懒,现在补充上。

    1.分页 2.flickr的方法应用

    分页这个例子采用了gridview的分页(又偷懒!)其实我个人感觉,既然控件于功能干吗不用,我这个人是能省则省,写那么多代码我自己看着都累。

   flickr的应用我这里主要是对photos的应用,其余的大家可以去flickr.com上看,我也是在做这个demo的时候跑到上面去看的,要是他能提供一个类的说明文件下载就好了,省得我找个方法得翻一下,太烦了。

   效果图在上个例子中。

   说说具体的部分吧,其实前台页面也很重要,这里就先说它。

 1<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
 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的方法。

 

 1public string mydeal(string inputstr)
 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的例子,但是想大到做什么,大家有什么好点子吗?

   如果大家喜欢我的教程,就给我留言,谢谢!

原文地址:https://www.cnblogs.com/tippoint/p/1247755.html