我在后台有一个页面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页面
<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页面
一般都是 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()" /> 需要加个随机数传过去
Response.Redirect("admin/login.aspx");
1.你先在本地运行,右键属性找出你的图片页面DrawYz.aspx的路径
2.然后在IIS上运行(跑不出来,没关系),找出路径
然后对比,好像应该是IIS上面的多了一个文件夹什么的然后你把这个截取掉就可以了
原因 是 server.transfer 的问题 server.transfer后 虽然 转到login.aspx 但地址栏还是在index.aspx里
然而 DrawYz.aspx是在 admin下的文件,所以访问不到这个页面 我 把 DrawYz.aspx这个 页面 copy一份出来 后就可以 了
而你的 Server.Transfer方法是在服务器端运行,出错。