定义无图片时显示默认图片,大小

it2025-05-05  10

<% @ Control Language = " C# "  AutoEventWireup = " true "  CodeFile = " ImageThumbnail.ascx.cs "  Inherits = " ImageThumbnail "   %> < asp:Image ID = " Image1 "  runat = " server "  CssClass = " photo "  BorderWidth = " 1 "   />  1 using  System;  2  3 public  partial  class  ImageThumbnail : System.Web.UI.UserControl  4 { 5    public object PhotoID 6    { 7        get 8        { 9            object o = ViewState["PhotoID"];10            return (o != null? (int)o : 0;11        }12        set13        {14            ViewState["PhotoID"= (value != null && value != DBNull.Value) ? Convert.ToInt32(value) : 0;15        }16    }17    public ImageSizes ImageSize18    {19        get20        {21            object o = ViewState["ImageSize"];22            return (o != null? (ImageSizes)o : ImageSizes.Thumb;23        }24        set25        {26            ViewState["ImageSize"= value;27        }28    }29    public enum ImageSizes30    {31        Large = 0,32        Thumb = 1,33        FullSize = 234    }35    public string NoPhotoImg36    {37        get38        {39            object o = ViewState["NoPhotoImg"];40            return (o != null? (string)o : null;41        }42        set43        {44            ViewState["NoPhotoImg"= value;45        }46    }47    protected void Page_PreRender(object sender, System.EventArgs e)48    {49        if (Convert.ToInt32(PhotoID) == 0)50        {51            if (NoPhotoImg != null)52            {53                Image1.ImageUrl = NoPhotoImg;54            }55            else56            {57                Image1.Visible = false;58            }59        }60        else61        {62            Image1.ImageUrl = "ImageFetch.ashx?Size=" + Convert.ToInt32(ImageSize) + "&ImageID=" + Convert.ToString(PhotoID);63        }64    }65    protected void Page_Load(object sender, EventArgs e)66    {6768    }69} 70 ImageFetch.ashx  1 <% @ WebHandler Language = " C# "  Class = " ImageFetch "   %>  2  3 using  System;  4 using  System.Web;  5 using  System.Data.SqlClient;  6 using  System.Data;  7 using  System.IO;  8  9 public   class  ImageFetch : IHttpHandler 10 {11    const int BUFFERSIZE = 1024;1213    public bool IsReusable14    {15        get16        {17            return true;18        }19    }2021    public void ProcessRequest(HttpContext context)22    {23        HttpResponse response = context.Response;24        HttpRequest request = context.Request;25        response.ContentType = "image/jpeg";26        response.Cache.SetCacheability(HttpCacheability.Public);27        response.BufferOutput = false;28        writeSingleImage(Convert.ToInt32(request.QueryString["ImageID"]), Convert.ToInt32(request.QueryString["Size"]), response.OutputStream);29        response.End();30    }3132    public void writeSingleImage(int ImageID, int size, Stream output)33    {34        string cxnstr = System.Configuration.ConfigurationManager.ConnectionStrings["ClubSiteDB"].ConnectionString;35        SqlConnection connection = new SqlConnection(cxnstr);36        string query;37        if (size == 0)38        {39            query = "select largeimage from images where id=@item_id";40        }41        else if (size == 1)42        {43            query = "select thumbimage from images where id=@item_id";44        }45        else if (size == 2)46        {47            query = "select origimage from images where id=@item_id";48        }49        else50        {51            query = "select largeimage from images where id=@item_id";52        }53        SqlCommand command = new SqlCommand(query, connection);54        SqlParameter param0 = new SqlParameter("@item_id", SqlDbType.Int);55        param0.Value = ImageID;56        command.Parameters.Add(param0);57        connection.Open();5859        byte[] d = ((byte[])(command.ExecuteScalar()));60        output.Write(d, 0, d.Length);61        connection.Close();62    }63}

转载于:https://www.cnblogs.com/zwl12549/archive/2007/12/14/995042.html

最新回复(0)