asp.net – 验证失败后如何防止页面跳转到顶部位置?
发布时间:2020-12-15 18:39:47 所属栏目:asp.Net 来源:网络整理
导读:我有一个简单的aspx页面与几个TextBoxes和一个提交按钮。某些字段是必需的,按钮下方是ValidationSummary。完整的表单大于屏幕高度,所以必须向下滚动才能到达提交按钮。如果我不填写所有必填字段,并单击提交验证失败,验证摘要显示按钮下方的一些信息消息
我有一个简单的aspx页面与几个TextBoxes和一个提交按钮。某些字段是必需的,按钮下方是ValidationSummary。完整的表单大于屏幕高度,所以必须向下滚动才能到达提交按钮。如果我不填写所有必填字段,并单击提交验证失败,验证摘要显示按钮下方的一些信息消息。验证在客户端发生,并且不发生回发。
所以这一切都按照希望。但令人不安的是,当我点击提交按钮时,页面移动(“跳转”)到顶部位置。要查看验证摘要,必须再次向下移动页面。 我试图将ShowSummary属性设置为false(这没有什么意义):验证仍然有效(无回发),但在这种情况下,页面不会移动到顶部位置。所以问题似乎取决于渲染验证文本。 有没有办法阻止这个页面跳转? 先谢谢你! 更新: 我上面描述的行为似乎不符合浏览器。我已经在五种不同的浏览器中进行了测试,而且到处都是相同的。 解决方法
我在asp.net(
http://forums.asp.net/p/1545969/3779312.aspx)中提出了这个问题,并得到了两个解决方案的回复。更好的一个是保持滚动位置的这个Javascript:
<script type="text/javascript"> window.scrollTo = function( x,y ) { return true; } </script> 这只是放在页面上,无处可以打电话。 另一个解决方案类似于RioTera的建议(使用MaintainScrollPositionOnPostBack),但是将ValidClientScript =“false”添加到Validators以强制回发。它也有效果,但价格是人为的回发。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 更改的域错误 – OpenId授权请求包含未注册
- asp.net-mvc – ASP.NET MVC应用程序架构“指南”
- asp.net – 如何为多行TextBox设置maxlength?
- asp.net – 从ASP .Net应用程序上传大文件
- ASP.NET Core 简介 - ASP.NET Core 基础教程 - 简单教程,简
- .net – 带有数据绑定控件的“无效的回发或回调参数”
- asp.net – 我的应用程序让我重定向到Account / LogOn?Ret
- Asp.net MVC – 多语言网站
- ASP.NET ViewState的工作原理
- asp.net – 如何正确过滤数据表(datatable.select)