gpt4 book ai didi

asp.net - 在离开 asp :textbox. 时,我必须做两件看似相互排斥的事情,请帮我澄清一下

转载 作者:行者123 更新时间:2023-12-02 20:39:53 25 4
gpt4 key购买 nike

这个项目已经从一辆简单的 99 年福特 F-150 变成了 the Homer .

我有带有 GridView 的控件,带有用于数据输入的文本框。

页面上的所有用户控件都位于 AJAX 更新面板中。

用户在数据库列、预算实体或他们想要包含在报告中的其他一些财务内容中键入内容。

gridview 中的文本框设置了 autopostback = true。

背景信息过长

当用户离开文本框时,在回发期间(由 onTextChanged 触发),我会在服务器上对其条目进行一些验证 - 正则表达式,他们是否有权访问该列,该列是否已锁定等。如果失败,我在文本框旁边放置了一条错误消息。如果通过,我会清除代码旁边曾经出现的所有标题或错误。

如果他们按 Tab 键跳出框,而不是转到 GridView 中的下一个文本框,则焦点会从回发中丢失。

因此,为了解决这个问题,如果他们通过 Tab 键离开 tb,我还需要弄清楚他们所在的文本框或 gridviewrow(如果它们不在最后一行),验证和标记后,将焦点放在下一行的文本框上。

我不知道如何在 ontextchanged 中找到什么导致我离开文本框,所以我想使用 javascript onkeyup 来测试按下的键,然后找到下一个框等等,但是 ontextchanged 首先触发,然后 js 永远不会触发,而且,由于控件都是 AJAXed,javascript 找不到文本框,因为当您进入页面时,所有内容都折叠起来(人们希望折叠和展开的要求东西),因此当它展开时,所有"new"文本框都位于页面源代码中的 View 状态内容中,而不是位于 javascript 可以看到它们的位置。

问题

所以我想知道我是否可以在javascript中添加一个onblur来触发回发,我可以在其中进行验证等,并且1)包含按下的按键或在事件中将其从发件人中挑选出来或2)使用 onkeyup 跟踪 onblur 并以某种方式找出网格上下一个文本框并将焦点放在那里。

或者,是否有另一种基于 .NET 的方法可以实现此目的?至于把整个事情推倒重来,我不能把它卖给老板,我已经到了不归路了。

最佳答案

除了与文本框关联的错误消息/标题之外,更改一个文本框值是否会更改屏幕上的其他任何内容?

如果没有,我的第一个想法是停止使用 AutoPostBack 并更改为与 onblur 事件 Hook 的页面方法。这应该可以解决您的选项卡问题,并减少客户端和服务器之间的来回。

Here's a blog post讨论更新面板和页面方法;该博客还包含许多有关在 .net、ajax 等中使用 javascript 的有用帖子。

关于asp.net - 在离开 asp :textbox. 时,我必须做两件看似相互排斥的事情,请帮我澄清一下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2691623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com