【发布时间】:2010-12-02 18:21:21
【问题描述】:
是否有一种直接的方法可以在模式对话框中显示的表单中将服务器端验证与 ASP.NET 的验证控件一起使用?我正在使用 jQuery 和 SimpleModal(在 C#、VS2010、.NET 4.0 中)
我有一个可以正常工作的模态表单。我需要使用服务器端验证,因为逻辑取决于特定于正在访问的记录的数据
我现在正在处理的项目的解决方案是使用 jQuery ajax 调用将所有表单数据传递到服务器并在允许发布之前取回验证结果。但这实现起来相对比较耗时,而且在某些情况下,我现在处理的所有验证代码都已经存在。
第一个挑战当然是模式对话框将在完整回发时关闭。因此,您可以在对话框中放置一个 UpdatePanel ......不过,我什至不考虑太多,我认为它不会那么好。它没有。并且打开模态对话框的表单已经在 UpdatePanel 中,这进一步混淆了问题。
无论如何,我尝试将模态表单的内容放入 UpdatePanel 中,以解决问题。它确实进行了部分回发,对话框保持打开状态,但对话框的内容不会随着我在服务器端更改的任何内容而更新。但是,如果我在测试验证代码后关闭并重新打开同一页面上的对话框,它的内容实际上会更新以反映这些更改。显然,对话框的呈现方式使 ASP.NET 感到困惑。或相反亦然。但这似乎从一开始就很粗略。
与其试图破解这个问题,我希望其他人对解决这个问题的更好方法提出一些建议。或者只是告诉我我正在努力混合苹果和橙子,如果这是唯一明智的做法,我应该将其全部保留在客户端(或客户端 + jQuery ajax)。
【问题讨论】:
标签: asp.net jquery simplemodal