我刚刚通过设置 ValidationGroup 实现了带有 ValidationSummary 的RequiredFieldValidatior。
当我单击相关按钮时,它工作正常!
但是视口在页面顶部发生变化和移动,我的验证结果和按钮等停留在页面的最底部,这并不好。
有没有办法防止这种情况,让浏览器在点击按钮后仍然在同一区域购物?
附加说明:客户端验证失败;所以不会发生回发。基本上,验证失败,并且视口在页面顶部滑动。
我刚刚通过设置 ValidationGroup 实现了带有 ValidationSummary 的RequiredFieldValidatior。
当我单击相关按钮时,它工作正常!
但是视口在页面顶部发生变化和移动,我的验证结果和按钮等停留在页面的最底部,这并不好。
有没有办法防止这种情况,让浏览器在点击按钮后仍然在同一区域购物?
附加说明:客户端验证失败;所以不会发生回发。基本上,验证失败,并且视口在页面顶部滑动。
您可以通过在页面顶部添加以下指令来实现此目的:
<%@ Page MaintainScrollPositionOnPostback="true" %>
在您RequiredFieldValidator
有一个选项SetFocusOnError
,然后将光标移动到文本框/输入类型。
然后在页面顶部的页面声明中,添加MaintainScrollPositionOnPostback="true"
<%@ Page MaintainScrollPositionOnPostback="true" %>
我之前这样做是为了将焦点放在手动调用验证时未验证的第一个元素上:
//has to be called after Page_ClientValidate()
function ValidatorFocus()
{
var i;
for (i = 0; i < Page_Validators.length; i++)
{
if (!Page_Validators[i].isvalid)
{
document.getElementById(Page_Validators[i].controltovalidate).focus();
break;
}
}
}