<span class="huiyuanFont02">验 证 码:</span>
<asp:TextBox ID="randstr" runat="server" Width="76px" MaxLength="4"></asp:TextBox>
<asp:ImageButton ID="ImageButton1" runat="server" OnClick="ImageButton1_Click" Style="width: 60px;
height: 20px" CausesValidation="False" />
然后就是我验证码是用一个Aspx写的,
每次点击验证码的时候,向验证码页面重新获取图片URL
<asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <span class="huiyuanFont02">验 证 码:</span> <asp:TextBox ID="randstr" runat="server" Width="76px" MaxLength="4"></asp:TextBox> <asp:ImageButton ID="ImageButton1" runat="server" OnClick="ImageButton1_Click" Style="width: 60px; height: 20px" CausesValidation="False" /> </ContentTemplate> </asp:UpdatePanel> <asp:ScriptManager ID="TheScriptManager" runat="server" />
使用updatepanel 可以防止页面 刷新, 不过不建议使用。 可以尝试使用ajax方式。
哼哼,这办法可行,
我也想使用ajax呢,
不过呢,无从下手 哎
谢谢哟 帮大忙了
对了 温馨提示:ScriptManager控件必须放在任何控件之前哟,嘿嘿
@HuangChengYuan: - - 好吧,我承认很久没用了。。。记不清了 不过实际的项目中用服务器控件很少的。 早日学习MVC吧。。。话说我是来接分的 O(∩_∩)O哈哈~
@wenthink: 恩恩 现在就在刻苦学习MVC呢,
不过公司项目依旧不是呀 哎
--!这也用服务器控件。。。
onclick="this.src='xxx?'+new Date().getMilliseconds()"
好吧,我的意思是只需要验证码切换了,但页面不需要刷新,相当于局部刷新,
不过 还是谢谢,明白另一种刷新方式
@HuangChengYuan:
就是这个意思,点击图片重新给图片地址赋值。。。
@向往-SONG: 对呀,但我试了一下,
还是整个页面也刷新了
@HuangChengYuan:
你是用的服务器控件onclick吧,这么简单的东西就不要用服务器控件了,直接用<img src="xxx" onclick="this.src='xxx?'+new Date().getMilliseconds()"/>
估计是有缓存的,在你的链接后面加个日期 就可以保证每次请求都是最新的
楼上正解
function buildImgCode()
{
vImgCode=Math.random().toString(10).substring(2,6);
document.getElementById("checkImg").src="ValidateCode.aspx?c="+vImgCode;
}
<img id="checkImg" src="" alt="验证码" border="0" />
<a href='javascript:buildImgCode();' class="login">看不清,换一张</a>