本文介绍了如何控制图像的重新加载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的页面上有一张图片.
我希望在单击刷新"按钮时重新加载该图像,因为当我单击刷新"按钮时,图片的内容将会更改.
请帮帮我.
在此先感谢!
I have an image on my page.
I want this image to reload when I click on button "Refresh" because when I click on button "Refresh", the content of the picture will change.
Help me please.
Thanks in advance!
推荐答案
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Image ID="imgContainer" runat="server" Height="51px" Width="212px" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="imbReLoad" />
</Triggers>
</asp:UpdatePanel>
<asp:ImageButton ID="imbReLoad" runat="server" Height="31px" ImageUrl="image url here"
OnClick="imbReLoad_Click" Width="33px" />
xyz.cs
xyz.cs
protected void imbReLoad_Click(object sender, ImageClickEventArgs e)
{
//call function to refresh image
}
<asp:Image ID="imgCapcha" runat="server" Height="51px" Width="212px" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
<ContentTemplate >
<asp:ImageButton ID="imbReLoad" runat="server" Height="31px"
ImageUrl="~/hinhtrangtri/refresh.png" OnClick="imbReLoad_Click"
Width="33px" />
</ContentTemplate>
</asp:UpdatePanel>
并在以下类代码处进行编码:
and code at class codebehind:
// code create image capchar
public void TaoAnhCapcha()
{
string[] Fonts = { "Arial Black", "Arial" };
byte bLenght = 6;
string chars = "12345678ABCDEFGHIJKLMNOPQRSTUVWXYZabdeqptmnghr"; ;
Bitmap bmp = new Bitmap(125, 30);
Graphics gr = Graphics.FromImage(bmp);
// chọn kiểu hiển thị của bipmap kiểu gợn sóng
// choose type of bipmap
HatchBrush brush = new HatchBrush(HatchStyle.Wave, Color.White, Color.Wheat);
gr.FillRegion(brush, gr.Clip);
//Lưu chuỗi capcha trong quá trình tạo
StringBuilder strCapCha = new StringBuilder();
Random Rand = new Random();
int x = 1;
for (int i = 0; i < bLenght; i++)
{
// Lấy ký tự ngẫu nhiên từ mảng chars
// get ramdom char
string schar = chars[Rand.Next(chars.Length)].ToString();
strCapCha.Append(schar);
// Tạo font với font ngẫu nhiên chọn từ Fonts
//create font with ramdom font
Font font = new Font(Fonts[Rand.Next(Fonts.Length)], 12, FontStyle.Bold | FontStyle.Italic);
//Lầy kích thước của ký tự
//get the size of char
SizeF size = gr.MeasureString(schar, font);
// Vẽ Ký tự ra ảnh theo thứ tự tăng dần với tọa độ X tăng dần theo i và Y ngẫu nhiên
//draw char to image
gr.DrawString(schar, font, Brushes.Blue, x * 2, Rand.Next(2, 10));
font.Dispose();
x += 10;
}
// Lưu captcha vào session
//save capchar to session
Session["captcha"] = strCapCha.ToString();
//// Lưu ảnh vào thư mục Capcha với tên ảnh dựa theo IP
//save image into folder "hinhtrangtri"
string path = "hinhtrangtri/" + Request.UserHostAddress + ".gif";
bmp.Save(Server.MapPath("") + "/" + path, System.Drawing.Imaging.ImageFormat.Gif);
imgCapcha.ImageUrl = path; // it is not refresh the content of image capchar
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//call function create image capchar
TaoAnhCapcha();
}
}
// when user click on this image button, it create new a capchar (the same refresh this image capchar)
protected void imbReLoad_Click(object sender, ImageClickEventArgs e)
{
//CreateCaptcha();
//call function create image capchar
TaoAnhCapcha();
}
这篇关于如何控制图像的重新加载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!