当我在 ASP.Net 中使用 CustomValidator 服务器端验证时,Simplemodal 关闭

Posted

技术标签:

【中文标题】当我在 ASP.Net 中使用 CustomValidator 服务器端验证时,Simplemodal 关闭【英文标题】:Simplemodal closing when I use CustomValidator server side validation in ASP.Net 【发布时间】:2011-12-22 21:39:15 【问题描述】:

我正在构建一个在更新面板中有一个 gridview 的 asp.net 应用程序。

在此网格中,我添加了一个命令字段,该字段引发服务器事件以填充我的模态弹出窗口隐藏 div 部分的字段,为用户显示模态并等待。

用户正在编辑字段并点击保存。

链接到这些字段我有几个验证控件。有些是标准的,有些是定制的。

当我的 customValidator 使用客户端脚本时,一切正常;如果一个字段无效,则显示摘要部分,并且模态仍然可见。

但是...(因为没有 a 但我不必写这个问题)

当我的 CustomValidator 是服务器端验证时,即使它失败,模态表单也会关闭,我的保存按钮甚至会被抬起。

我使用 CustomValidator 是因为该验证需要实时数据库验证。

我的问题是:如果它返回 false (e.isvalid = false),我如何让这个服务器端验证保持模式弹出窗口打开?

如果这不可能.. 我尝试调用:ScriptManager.RegisterStartupScript((Control)sender, sender.GetType(), Guid.NewGuid().ToString(), "$('#basic-modal- content-province').modal(appendTo:'form', persist:true);", true);

但它不起作用 -> 它说 $ 没有定义

我用http://www.ericmmartin.com/projects/simplemodal/

我是 JQuery 和 AJAX 的新手,感谢您的帮助

斯蒂芬

【问题讨论】:

hummm ...我没想到这是一个大问题...超过30个读数,没有人提供这个问题的想法。如果你不知道我应该怎么做来解决这个问题,你有没有想过我可以作为 workarround 做些什么? 【参考方案1】:

我会将自定义验证器与 AJAX 模态扩展器一起使用,然后一旦您在模态中提交数据,通过检查页面是否有效来检查是否有错误,如果无效则使用它的显示使扩展器显示() 函数 - 例如用 c#:

protected void btnExampleButton_Click(object sender, EventArgs e)

    if (Page.IsValid)
    
        //Logic to submit if valid
    
    else
    
        //If there are errors then keep the modal open
        btnOpenModal_ModalPopupExtender.Show();
    

除此之外,我不确定是否有任何其他方法可以使用自定义验证器保持模式打开,因为它不会回发。

【讨论】:

以上是关于当我在 ASP.Net 中使用 CustomValidator 服务器端验证时,Simplemodal 关闭的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在 Asp.Net CORE 中使用 JWT 获得 401 未经授权?

当我在 asp.net 核心中选择下拉值时,如何将特定文本设置为下拉列表?

如何在 ASP.NET MVC 部分视图中使用 JQuery 表排序器插件?当我在视图中插入 PartialView 时,我使用的是 ajax

在 asp.net 中部署时验证正在消失

当我在 asp.net mvc 5 中达到类用户身份时,如何获得新属性?

asp.net当我在web.config中设置“sessionState mode=StateServer”