当前位置:编程学习 > C#/ASP.NET >>

如何刷新图片框?


        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"> --------------------编程问答--------------------
引用 1 楼 jxyxhz 的回复:
跟踪下代码,如果生成的验证码是一样的话那么就是你的代码问题
如果生成的验证码重新生成了,但是前台没有刷新那就是缓存的问题。

在图片路径上加个参数就行了。

再说刷新验证码根本不用回发的。

类似
<IMG style="CURSOR: pointer"  
onclick="this.src='aa.ashx?n='+ Math.random();"  
alt=点击刷新验……

不,验证码是从Session读取的。 --------------------编程问答-------------------- 人工置顶 --------------------编程问答-------------------- “没用”是什么意思?

你的代码中调用了三次getFRandomString,它们返回的值一致吗?不一致的话是什么作用呢? --------------------编程问答--------------------
引用 4 楼 sp1234 的回复:
“没用”是什么意思?

你的代码中调用了三次getFRandomString,它们返回的值一致吗?不一致的话是什么作用呢?
不一致。第一次是为了供生成随机数验证码图片使用,第二次和第三次是防止图片不刷新,改变图片地址之用。 --------------------编程问答-------------------- 人工置顶 --------------------编程问答-------------------- 可能你刷新的时候是从缓存里面读的,所以没有效果,加个随机参数传过去。例如:onclick="this.src='aa.ashx?n='+ Math.random();"   --------------------编程问答-------------------- 最易做图烦4楼“sp1234”,这人说话太恶心,好像自己挺强似的! --------------------编程问答--------------------
引用 7 楼 wjy_123456 的回复:
可能你刷新的时候是从缓存里面读的,所以没有效果,加个随机参数传过去。例如:onclick="this.src='aa.ashx?n='+ Math.random();"
我就是这样的,有的随机参数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> --------------------编程问答--------------------
引用 10 楼 liuchaolin 的回复:
<script>
   var $ = function(objId) {
     return document.all ? document.all[objId] : document.getElementById(objId);
    }
function getImg()
{
var ran=1000 + Math.random() * 9000;
$("theImg"……

这可是个服务器控件,而且验证码是通过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();
        } --------------------编程问答--------------------
引用 12 楼 dragon_yx 的回复:
Random r = new Random();
string random = r.Next(10000000, 99999999).ToString();

protected void NextPicnum_Click(object sender, EventArgs e)
        {
            RadomGetting rg=new RadomGetting……

我的就是这样的呀!Random r = new Random();相当于rg.getFRandomString()
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,