当我在 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