[提问]重新获取验证码时,防止页面刷新(C#)

柳晛 2008-07-07 08:46:21
在登陆页面,有一个“重新获取验证码”按钮,单击这个按钮后,页面会自动重新加载。
导致 密码文本框 的数据 自动清空。

请问:
不用Ajax如何防止页面重新加载,保留密码文本框中的数据?
...全文
447 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
quifar123 2011-06-20
  • 打赏
  • 举报
回复
按照你的描述,我想你是在点了按钮提交页面是后清空吧,它和单纯的刷新是不一样的。。。
点按钮“刷新”:实质是在刷新之前已经提交了form ,对于一般的textbox 只需在Page_Load里重新赋值就OK了如:textbox.Text=textbox.Text;但是对于密码框,这样是不行的 必须用textbox.Attributes["value"] = textbox.Text来重新赋值 注意不要写在 if (!IsPostBack)里
如果是单纯的刷新,这个就比较麻烦了,你需要为textbox添加onchange事件,也就是每当有变化就要记录。。这样你可以有javascript脚本实现。。
jimo_lang 2008-07-10
  • 打赏
  • 举报
回复
收藏
柳晛 2008-07-07
  • 打赏
  • 举报
回复
考虑到安全性,所有操作都是后台代码,前台代码只用于排版。
这样做是不是就不能避免页面加载造成的密码文本框清空了?
Adechen 2008-07-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lwp1493 的回复:]
<img src="*.aspx" onclick="javascript:this.src=this.src+Math.rand()">
[/Quote]
michaelowenii 2008-07-07
  • 打赏
  • 举报
回复
4楼办法不错,可以解决问题
diudiu121 2008-07-07
  • 打赏
  • 举报
回复
<img id="Verify" src="VerifyCode.aspx?" alt="看不清?点击更换!OK" onclick="this.src=this.src+'?'" style="width: 121px; height: 29px; cursor:pointer;" />
diudiu121 2008-07-07
  • 打赏
  • 举报
回复
4楼滴回答是正确地!
编程有钱人了 2008-07-07
  • 打赏
  • 举报
回复

<img id="CheckCodesy" style="vertical-align:top;" src="ShowImage.aspx?temp='+ (new Date().getTime().toString(36)) +'"/>

<a href="#" onclick="document.getElementById('CheckCodesy').src='ShowImage.aspx?temp='+(new Date().getTime().toString(36)); return false">刷新</a></td>
huangdanming 2008-07-07
  • 打赏
  • 举报
回复
<a href="javascript:reloadcode();" title="更换一张验证码图片"><img src="checkcode.aspx" id="safecode"/></a>

<script language="javascript">
function reloadcode()
{
document.getElementById('safecode').src = 'checkcode.aspx';
}
</script>
checkcode.aspx为生成验证码页面,在其load里加上Response.CacheControl = "no-cache"清除缓存
xhan2000 2008-07-07
  • 打赏
  • 举报
回复
验证码和密码没有必然的联系

你要的效果是只要刷新验证码,其实很简单,js重新设置image的url的就行了



我直接做了个控件,ashx实现,点击就换验证码

this.Attributes["onclick"] = "this.src=this.src+'&';";

这里不能this.src=this.src,不会刷新,所以要加个&

验证码采取des加密后存储在cookie中
「已注销」 2008-07-07
  • 打赏
  • 举报
回复
<img src="*.aspx" onclick="javascript:this.src=this.src+Math.rand()">
MADfox1983 2008-07-07
  • 打赏
  • 举报
回复
那你就用iframe
万小萌 2008-07-07
  • 打赏
  • 举报
回复
不用ajax是不可以防止页面重新加载的!
如果是要保存密码文本框中的数据,你用asp.net控件,它有视图状态是可以保存原来的值的。

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧