【发布时间】:2009-12-01 13:39:53
【问题描述】:
我有点问题。我的应用程序与 BizTalk 通信以从数据库中提取数据,并从用于查找的 UI 中传递一个键值。我在 UI 中有几个正则表达式检查,以确保用户输入格式正确的键值。如果他们不这样做,任何输入错误都会在 UI 验证中被捕获,并且不会发生回发。错误显示在相关输入字段旁边以及位于母版页中的验证摘要中。
我的问题是,如果用户输入格式正确的键值并提交,并且 BizTalk 返回错误,则此错误会显示在内容页面上的标签中,就在提交按钮下方。如果用户随后继续输入一个新的键值,但没有以正确的格式输入,则 UI 验证启动并且不会发生回发,并且会显示先前的服务器错误,即使它不再准确清除标签的服务器端代码永远不会到达。当客户端验证阻止回发时,我想要做的(并且迄今为止未能实现)是使用 JavaScript 隐藏内容页面上的标签。这只应在验证失败且未发生回发时发生。当我在内容页面的加载事件中注册脚本时,隐藏标签的 JavaScript 总是会触发,这意味着服务器错误永远不会呈现给用户。关于如何实现这一点的任何想法?
总结;我只希望在没有回发发生时运行清除和隐藏标签的 JavaScript。
【问题讨论】:
-
如果输入无效,您是否考虑过在服务器上隐藏包含输出的标签?你可以通过设置 Visible="false"
-
确实,但是由于项目规范需要进行客户端验证。输入的客户端和服务器端验证。如果输入键未在数据库中产生命中,则某些输入应经过验证,然后从 BizTalk 返回空值。
标签: c# asp.net javascript web-applications