我有一個列表System.Drawing.Image
。我想用Page_Load
事件中的最後一張圖像更新我的asp.net Image
控件。asp.net圖像控制 - 如何把它的圖像
我只能找到像ImageURL這樣的屬性。我不能只是做一些像
ImageControl1.referenceToSomeImageObjectWhichWillBeDisplayed=myImageObjectFromTheList
是否有任何這樣的圖像控制屬性?
我有一個列表System.Drawing.Image
。我想用Page_Load
事件中的最後一張圖像更新我的asp.net Image
控件。asp.net圖像控制 - 如何把它的圖像
我只能找到像ImageURL這樣的屬性。我不能只是做一些像
ImageControl1.referenceToSomeImageObjectWhichWillBeDisplayed=myImageObjectFromTheList
是否有任何這樣的圖像控制屬性?
Oded是正確的,我會使用一個處理程序來返回圖像。實施例下面:
處理類:
public class ImageHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
try
{
String Filename = context.Request.QueryString[ "FileName" ];
if (!String.IsNullOrEmpty(Filename))
{
// Read the file and convert it to Byte Array
string filename = context.Request.QueryString[ "FileName" ];
string contenttype = "image/" + Path.GetExtension(Filename.Replace(".", ""));
FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
Byte[] bytes = br.ReadBytes((Int32) fs.Length);
br.Close();
fs.Close();
//Write the file to response Stream
context.Response.Buffer = true;
context.Response.Charset = "";
context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
context.Response.ContentType = contenttype;
context.Response.AddHeader("content-disposition", "attachment;filename=" + filename);
context.Response.BinaryWrite(bytes);
context.Response.Flush();
context.Response.End();
}
}
catch (Exception)
{
throw;
}
}
/// <summary>
/// Gets whether the handler is reusable
/// </summary>
public bool IsReusable
{
get { return true; }
}
}
我然後加入一個共同的頁的方法使用處理程序:
/// <summary>
/// Gets the image handler query
/// </summary>
/// <param name="ImagePath">The path to the image</param>
/// <returns>Image Handler Query</returns>
protected string GetImageHandlerQuery(string ImagePath)
{
try
{
if (ImagePath != string.Empty)
{
string Query = String.Format("..\\Handlers\\ImageHandler.ashx?Filename={0}", ImagePath);
return Query;
}
else
{
return "../App_Themes/Dark/Images/NullImage.gif";
}
}
catch (Exception)
{
throw;
}
}
最後在ASPX使用:
<asp:ImageButton ID="btnThumbnail" runat="server" CommandName="SELECT" src='<%# GetImageHandlerQuery((string)Eval("ImageThumbnail200Path")) %>'
ToolTip='<%#(string) Eval("ToolTip") %>' Style="max-width: 200px; max-height: 200px" />
或者你想在代碼隱藏中使用:
imgPicture.ImageUrl = this.GetImageHandlerQuery(this.CurrentPiecePicture.ImageOriginalPath);
顯然你不需要頁面方法,你可以直接調用處理程序,但它可能是有用的放入您的基頁類。