zoukankan      html  css  js  c++  java
  • 显示照片自定义控件

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Text;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    using PhotoManage;

    namespace PhotoControl
    {
        [DefaultProperty("PhotoID")]
        [ToolboxData("<{0}:PhotoImage runat=server></{0}:PhotoImage>")]
        public class PhotoImage : WebControl
        {
            [Bindable(true)]
            [Category("Appearance")]
            [DefaultValue("")]
            [Localizable(true)]

            private string _PhotoID;
            private string _NavigateUrl;
            private Targer _Target;
            private string _SqlConn;
            private string _ToolTip;
            private string _NOPhotoUrl;

            /// <summary>
            /// 数据库链接字符串
            /// </summary>
            [Description("数据库链接字符串"), Category("Appearance")]
            public string SqlConn
            {
                get
                {
                    return _SqlConn;
                }

                set
                {
                    _SqlConn = value;
                }
            }


            /// <summary>
            /// 要显示的照片ID
            /// </summary>
            [Description("要显示的照片ID"), Category("Appearance")]
            public string PhotoID
            {
                get
                {
                    return _PhotoID;
                }

                set
                {
                    _PhotoID = value;
                }
            }

            /// <summary>
            /// 链接地址
            /// </summary>
            [Description("链接地址"), Category("Appearance")]
            public string NavigateUrl
            {
                get
                {
                    return ((_NavigateUrl == null) ? String.Empty : _NavigateUrl);
                }

                set
                {
                    _NavigateUrl = value;
                }
            }

            /// <summary>
            /// 链接打开方式
            /// </summary>
            [Description("链接打开方式"), Category("Appearance")]
            //[DefaultValue("_blank")]
            public Targer Target
            {
                get
                {
                    return _Target;
                }

                set
                {
                    _Target = value;
                }
            }

            /// <summary>
            /// 将鼠标移到控件上时显示的工具提示。
            /// </summary>
            [Description("将鼠标移到控件上时显示的工具提示。"), Category("Appearance")]
            public string ToolTip
            {
                get
                {
                    return ((_ToolTip == null) ? String.Empty : _ToolTip);
                }

                set
                {
                    _ToolTip = value;
                }
            }

            /// <summary>
            /// 无照片时使用的替换图片
            /// </summary>
            [Description("无照片时使用的替换图片"), Category("Appearance")]
            public string NOPhotoUrl
            {
                get
                {
                    return ((_NOPhotoUrl == null) ? String.Empty : _NOPhotoUrl);
                }

                set
                {
                    _NOPhotoUrl = value;
                }
            }

            protected override void RenderContents(HtmlTextWriter output)
            {
                string outStr = "";

                if (this.PhotoID != null && this.PhotoID != "" && this.SqlConn != null && this.SqlConn != "")
                {

                    PhotoDetail pDetail = new PhotoManage.PhotoDB(this.SqlConn).getPhotoDetail(this.PhotoID);
                    if (pDetail != null)
                    {
                        string tar = "";
                        switch (this.Target)
                        {
                            case Targer._blank: tar = "_blank"; break;
                            case Targer._parent: tar = "_parent"; break;
                            case Targer._search: tar = "_search"; break;
                            case Targer._self: tar = "_self"; break;
                            case Targer._top: tar = "_top"; break;
                        }
                        if (this.NavigateUrl == null || this.NavigateUrl == string.Empty)
                            this.NavigateUrl = pDetail.PhotoPath;                   

                        if (this.Height.IsEmpty != true && this.Width.IsEmpty != true)
                            outStr = "<a href=\"" + this.NavigateUrl + "\" target=\"" + tar + "\"><img border=\"0\" height=\"" + this.Height + "\" width=\"" + this.Width + "\" src=\"" + pDetail.SmallPhotoPath + "\" Alt=\"" + this.ToolTip + "\"/></a>";
                        else if (this.Height.IsEmpty == true && this.Width.IsEmpty == false)
                            outStr = "<a href=\"" + this.NavigateUrl + "\" target=\"" + tar + "\"><img border=\"0\" width=\"" + this.Width + "\" src=\"" + pDetail.SmallPhotoPath + "\" Alt=\"" + this.ToolTip + "\"/></a>";
                        else if (this.Height.IsEmpty == false && this.Width.IsEmpty == true)
                            outStr = "<a href=\"" + this.NavigateUrl + "\" target=\"" + tar + "\"><img border=\"0\" height=\"" + this.Height + "\" src=\"" + pDetail.SmallPhotoPath + "\" Alt=\"" + this.ToolTip + "\"/></a>";
                        else
                            outStr = "<a href=\"" + this.NavigateUrl + "\" target=\"" + tar + "\"><img border=\"0\" src=\"" + pDetail.SmallPhotoPath + "\" Alt=\"" + this.ToolTip + "\"/></a>";
                        output.Write(outStr);
                        return;
                    }
                    else
                    {
                        outStr = "<img border=\"0\" src=\"" + this.NOPhotoUrl + "\" alt=\"暂无照片\"";
                        output.Write(outStr);
                        return;
                    }

                }
                else
                {
                    outStr = "<img border=\"0\" alt=\"未提供属性SqlConn或者属性PhotoID\"";
                    output.Write(outStr);
                    return;
                }
            }
        }

       public enum Targer
        {
            _blank = 0,
            _parent,
            _search,
            _self,
            _top
        }
    }

    --------------------------------------------------------------------------------

    调用部分:

            PhotoImage1.PhotoID = "200DBF2A-5DE1-411C-8525-243B4D6D7177";
            PhotoImage1.SqlConn = sqlURL;
            PhotoImage1.NavigateUrl = http://www.qq.com";
            PhotoImage1.ToolTip = "腾讯";
            PhotoImage1.Target = PhotoControl.Targer._blank;
            PhotoImage1.NOPhotoUrl = "Alite.gif";
            PhotoImage1.Width = 50;
            PhotoImage1.Height = 60;

  • 相关阅读:
    合理处理沉没成本
    推荐一个基于Ajax的查询API网站
    为blog添加天气预报功能
    我仅仅一个熟练的coder
    管理和IT的对话
    10个你未必知道的CSS技巧
    如何使用ajax开发web应用程序(二)
    5月20日,系分考试后感。
    说说大型高并发高负载网站的系统架构
    盗用sina的爱问投诉代码实现网页对话框。
  • 原文地址:https://www.cnblogs.com/zhuawang/p/805171.html
Copyright © 2011-2022 走看看