日期:2014-05-18  浏览次数:21007 次

自定义了一个登入控件,在其中放入验证码,点击图片怎么刷新更换?
<asp:Image ID="imgVerifyCode" AlternateText ="单击改变" runat="server" ImageUrl ="~/Controls/VerifyCodeImage.aspx" style="cursor:hand;" /></label>
而且这里的 AlternateText ="单击改变"鼠标放上去的时候也不会显示“单击改变”的提示字 
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UserLogin.ascx.cs" Inherits="企业网站.Controls.UserLogin" %>
<script language="javascript" type="text/javascript">
  function checkCodeRefresh()
  {

  var img = document.getElementById("imgVerifyCode");
  img.src = "";
  img.src = "/Controls/VerifyCodeImage.aspx?t=" + Math.random() * 100;
  // <img src="/Controls/VerifyCodeImage.aspx" onClick="this.src='/Controls/VerifyCodeImage.aspx?t='+Math.random() * 100;" >
  }  
   
</script> 网上的是加这句 加在上面没用

后台有这句 imgVerifyCode.Attributes.Add("onclick", "checkCodeRefresh()");

初学 求解答

------解决方案--------------------
因为你的 <asp:Image... 控件是放在一个web 控件里,生成html 后,<asp:Image ID="imgVerifyCode"...的id并不是"imgVerifyCode" 了,你查看写源文件就可以看到了,使用模板页的时候服务器的控件id也是会改变的.
你可以把<asp:Image... 换成html 控件就可以了,例如这样
<img id="imgVerifyCode" src="/Controls/VerifyCodeImage.aspx" onclick="checkCodeRefresh()"/>