【问题标题】:Simplemodal closing when I use CustomValidator server side validation in ASP.Net当我在 ASP.Net 中使用 CustomValidator 服务器端验证时,Simplemodal 关闭
【发布时间】: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 做些什么?

标签: jquery asp.net ajax simplemodal customvalidator


【解决方案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();
    }
}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 2015-07-07
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    相关资源
    最近更新 更多