上传图片,但IMAGE控件里显示的是之前的图片,要刷新一下才显示,为什么?
代码如下
protected void btnUpLoad_Click(object sender, EventArgs e)
{
string path = Server.MapPath("~/temp/temp.jpg");
string imageType = this.FileUpload.PostedFile.FileName.Substring(this.FileUpload.PostedFile.FileName.LastIndexOf(".") + 1).ToLower();
if (imageType == "jpg" || imageType == "bmp" || imageType == "icon" || imageType == "png" || imageType == "jpeg")
{
byte[] oFileByte = new byte[this.FileUpload.PostedFile.ContentLength];
Stream stream = this.FileUpload.PostedFile.InputStream;
System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
img.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg);
this.Image1.ImageUrl = "temp/temp.jpg";
img.Dispose();
}
else
{
Response.Write("<script language='javascript'>alert('你选择的图像格式错误!');</script>");
}
}
代码如下
protected void btnUpLoad_Click(object sender, EventArgs e)
{
string path = Server.MapPath("~/temp/temp.jpg");
string imageType = this.FileUpload.PostedFile.FileName.Substring(this.FileUpload.PostedFile.FileName.LastIndexOf(".") + 1).ToLower();
if (imageType == "jpg" || imageType == "bmp" || imageType == "icon" || imageType == "png" || imageType == "jpeg")
{
byte[] oFileByte = new byte[this.FileUpload.PostedFile.ContentLength];
Stream stream = this.FileUpload.PostedFile.InputStream;
System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
img.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg);
this.Image1.ImageUrl = "temp/temp.jpg";
img.Dispose();
}
else
{
Response.Write("<script language='javascript'>alert('你选择的图像格式错误!');</script>");
}
}
================
虽然你给img控件从新新地址。但因为是在服务器端进行给img赋值。也就是没有把对应的值传递到客户端。
page_Load中,注意不要在(!page.isposkback)
里面写。在外面写那个img控件的地址就可以了
//很可能是你page_Load中加了
if(!ispostback)
{
//绑定地址了。
}
UpdatePanel是aps.net ajax中的一個控件 做無刷新用的