C# 在模式对话框中显示CustomValidator
我的ValidationSummary显示在模式对话框中。这很好 但是,我的代码隐藏执行一些数据库查找,并将带有CustomValidator的消息添加到我的ValidationSummary中 在我开始在对话框中显示我的ValidationSummary之前,它工作得很好。但是现在,当CustomValidator无效时,它不会显示在ValidationSummary对话框中 当其他字段无效时,会出现该对话框,但不适用于来自代码隐藏的CustomValidator消息 以下是页面无效时显示对话框的代码:C# 在模式对话框中显示CustomValidator,c#,javascript,asp.net,C#,Javascript,Asp.net,我的ValidationSummary显示在模式对话框中。这很好 但是,我的代码隐藏执行一些数据库查找,并将带有CustomValidator的消息添加到我的ValidationSummary中 在我开始在对话框中显示我的ValidationSummary之前,它工作得很好。但是现在,当CustomValidator无效时,它不会显示在ValidationSummary对话框中 当其他字段无效时,会出现该对话框,但不适用于来自代码隐藏的CustomValidator消息 以下是页面无效时显示对话
<script type="text/javascript">
function WebForm_OnSubmit() {
if (typeof (ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) {
$("#modal_validationSummary").modal('show');
return false;
}
return true;
}
</script>
谢谢你的帮助 那么事件的顺序是:您发回,添加验证程序,呈现页面,验证摘要不显示错误 在什么时候显示验证摘要?如果是在首次回发之前,则验证消息将不会显示,因为验证会阻止您回发,并且验证直到回发之后才会发生
CustomValidator
没有添加到Controls
集合中也可能存在问题,但我对此不确定
ETA:一点研究强化了我的信念,即弹出的ValidationSummary
窗口只适用于客户端验证。你的是服务器端。您可以使CustomValidator
作为客户端验证器运行,同时仍在服务器上执行工作,但您需要:
CustomValidator
。(您仍然可以动态添加它,但它将出现在初始渲染中,并且您必须将其添加到控件
集合中。)无论如何,这是它的浓缩版。非常感谢您的帮助。我是新手,所以这些信息非常有用。
<div class="modal modal-danger" id="modal_validationSummary" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Invalid Login</h4>
</div>
<div class="modal-body clearfix">
<asp:ValidationSummary ID="LoginValidationSummary" runat="server"
ValidationGroup="LoginGroup" HeaderText="<div class='validationheader'>Please address the issues below</div>"
CssClass="validationsummary" DisplayMode="BulletList"/>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-clean" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
CustomValidator cv = new CustomValidator();
cv.IsValid = false;
cv.ErrorMessage = "Login not found. Please try again.";
cv.ValidationGroup = "LoginGroup";
this.Page.Validators.Add(cv);