我有一个validationsummary控件,显示一些验证所需控件的摘要,所有这些控件都属于验证组。
我的提交按钮也具有相同的验证组,因此它会在点击它时验证所有内容。
我遇到的问题是在单击提交按钮后验证发生后将焦点设置为validationsummary控件。 重点放在我的网络表单的顶部。
我需要把重点放在验证控件上。 我如何实现这一目标?
仅供参考:SetFocusOnError =“true”不起作用。
感谢阅读。
答案 0 :(得分:2)
试试这个http://forums.asp.net/t/967952.aspx。 我还没有验证。但最后的回复说它正在发挥作用。
此外,您可以尝试MaintainScrollPositionOnPostback="true"
,以便至少重点与发布之前的重点相同。
答案 1 :(得分:1)
<强>标记:强>
<asp:Button ID="Button1" runat="server" CausesValidation="false"
Text="Button" OnClientClick="SummaryFocus();" />
<强>脚本:强>
function SummaryFocus() {
Page_ClientValidate();
var i;
for (i = 0; i < Page_ValidationSummaries.length; i++)
{
if (!Page_ValidationSummaries[i].isvalid)
{
window.scrollTo(0, document.getElementById(Page_ValidationSummaries[i].id).offsetTop);
break;
}
}
}
答案 2 :(得分:0)
你做不到。如果您实际查看浏览器中的验证摘要标记,则只是每个验证程序在其验证组中已关闭的错误消息。你不能把注意力放在它上面。
答案 3 :(得分:0)
此Connect问题报告中添加了一些提示:https://connect.microsoft.com/VisualStudio/feedback/details/342104/maintainscrollpositiononpostback-and-validationsummary(对不起剪切和粘贴URI,由于某些原因我无法正确添加链接)。
这都是一个黑客,但它可以帮助你。