我在后台有一个页面login.aspx
<img id="Yzm" src="DrawYz.aspx" style="width: 88px; height: 28px" />            <!--这是显示验证码的图片-->
<a href="#" onclick="javascript:document.getElementById('Yzm').src='DrawYz.aspx');">看不清,换一张!</a> <!--点击刷新验证码-->
直接访问这个页面的时候 可以显示页面 也可以显示验证码
但是
 我用前台页面index.aspx  Server.Transfer("admin/login.aspx"); 访问login.aspx时候  能显示页面 但是不能显示验证码
我再用 Response.Redirect("admin/login.aspx");的时候 就不能在iis服务中访问到 login.aspx页面

解决方案 »

  1.   

    一般都不是这样做的
    一般都是 function refresh()
            {
        var randNum=Math.random();
        var img = document.getElementById("Yzm");
        img.src="login.aspx?randNum="+randNum;
        }
    <img id="Yzm" src="DrawYz.aspx" style="width: 88px; height: 28px“ onclick="refresh()" /> 需要加个随机数传过去
      

  2.   

    你可以看看你的路径的问题:你就用
    Response.Redirect("admin/login.aspx");
    1.你先在本地运行,右键属性找出你的图片页面DrawYz.aspx的路径
    2.然后在IIS上运行(跑不出来,没关系),找出路径
    然后对比,好像应该是IIS上面的多了一个文件夹什么的然后你把这个截取掉就可以了
      

  3.   

    感谢 2位了 特别是 lxl_sprots 让我找到了  问题 所在  
    原因 是  server.transfer 的问题 server.transfer后 虽然 转到login.aspx 但地址栏还是在index.aspx里  
    然而  DrawYz.aspx是在 admin下的文件,所以访问不到这个页面 我 把 DrawYz.aspx这个 页面 copy一份出来 后就可以 了   
      

  4.   

    可能是 你的 <img>控件是html控件,没有加runat=server,只能在客户端运行。
    而你的 Server.Transfer方法是在服务器端运行,出错。