如何刷新图片框?
protected void NextPicnum_Click(object sender, EventArgs e)
{
RadomGetting rg=new RadomGetting();
Session["word"] = rg.getFRandomString();
picNumGetter.ImageUrl = "~/ashx/picNum.ashx?a=" + rg.getFRandomString();
picNumShower.Text = "<img src='ashx/picNum.ashx?a="+rg.getFRandomString()+"' />";
uppicnum.Update();
}
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="uppicnum">
<ContentTemplate>
<table style="width:100%;">
<tr>
<td class="style10">
验证码</td>
<td class="style11">
<asp:TextBox ID="ReImgNum" runat="server" MaxLength="4" Width="148px"></asp:TextBox>
<asp:Image ID="picNumGetter" runat="server" Height="60"
Width="140" ImageUrl="~/ashx/picNum.ashx"/>
<asp:LinkButton ID="NextPicnum" runat="server" onclick="NextPicnum_Click">再来一张</asp:LinkButton>
<asp:Label ID="info" runat="server"></asp:Label>
<input id="Hidden1" type="hidden" />
<asp:Label ID="picNumShower" runat="server" Text="<img src='ashx/picNum.ashx' />" Width="140" Height="60"></asp:Label>
</td>
<td>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
无论刷新Label还是刷新Image都没用。 --------------------编程问答-------------------- 跟踪下代码,如果生成的验证码是一样的话那么就是你的代码问题
如果生成的验证码重新生成了,但是前台没有刷新那就是缓存的问题。
在图片路径上加个参数就行了。
再说刷新验证码根本不用回发的。
类似
<IMG style="CURSOR: pointer"
onclick="this.src='aa.ashx?n='+ Math.random();"
alt=点击刷新验证码。 src="aa.ashx"> --------------------编程问答--------------------
不,验证码是从Session读取的。 --------------------编程问答-------------------- 人工置顶 --------------------编程问答-------------------- “没用”是什么意思?
你的代码中调用了三次getFRandomString,它们返回的值一致吗?不一致的话是什么作用呢? --------------------编程问答-------------------- 不一致。第一次是为了供生成随机数验证码图片使用,第二次和第三次是防止图片不刷新,改变图片地址之用。 --------------------编程问答-------------------- 人工置顶 --------------------编程问答-------------------- 可能你刷新的时候是从缓存里面读的,所以没有效果,加个随机参数传过去。例如:onclick="this.src='aa.ashx?n='+ Math.random();" --------------------编程问答-------------------- 最易做图烦4楼“sp1234”,这人说话太恶心,好像自己挺强似的! --------------------编程问答-------------------- 我就是这样的,有的随机参数a。 --------------------编程问答-------------------- <script>
var $ = function(objId) {
return document.all ? document.all[objId] : document.getElementById(objId);
}
function getImg()
{
var ran=1000 + Math.random() * 9000;
$("theImg").innerHTML="<img height=\"25\" src=\"ValidateCode.aspx?ran="+ ran +"\" width=\"65\" align=\"absbottom\" border=\"0\" />";
$("Txt_Code").focus();
}
</script>
<a href="javascript:getImg()"><font id="theImg"><img height="25" src="ValidateCode.aspx" width="65" align="absbottom" border="0" /></font></a> <a href="javascript:getImg()"><font color="#333333">看不清楚?换一张</font></a> --------------------编程问答--------------------
这可是个服务器控件,而且验证码是通过Session获取的。所以只能在服务器端实现。 --------------------编程问答--------------------
Random r = new Random();
string random = r.Next(10000000, 99999999).ToString();
protected void NextPicnum_Click(object sender, EventArgs e)
{
RadomGetting rg=new RadomGetting();
Session["word"] = rg.getFRandomString();
picNumGetter.ImageUrl = "~/ashx/picNum.ashx?a=" + random;
picNumShower.Text = "<img src='ashx/picNum.ashx?a="+random +"' />";
uppicnum.Update();
} --------------------编程问答--------------------
我的就是这样的呀!Random r = new Random();相当于rg.getFRandomString()
补充:.NET技术 , ASP.NET