表格仅在输入失去焦点时保存

时间:2012-09-13 19:34:30

标签: c# asp.net objectdatasource formview

我正在使用带有数据绑定(FormView)的表单(ObjectDataSource),并且所有输入字段都使用'<%# Bind("field") %>'绑定。

一切正常,但我有两个问题(我发现了各种提示,例如使用this.Validate().EndEdit() - 但似乎没有问题:

  • 只有在离开输入字段后才会保存条目,以使其失去焦点

假设我有一个ID为Name的文本框,并输入“George”。当我选择到下一个文本框或当我点击其他地方并单击保存时 - 一切都被保存。但是当我将焦点保持在文本框中时,不会保存该值。为什么会这样?我可以用什么魔法来规避这个(JavaScript救援?)。

  • 我通过Javascript设置文本框的字段值(element.value)(在组合框中选择内容时)。

与上述相同的问题适用,仅当我给文本框焦点和制表符输出时,才会保存该值。这就产生了一个问题,我只希望用户在组合框中选择一些东西(文本框相应地更新)并继续前进 - 我不希望用户之后点击进入文本框并再次标记出来。


编辑:

我现在解决的第二个问题是通过Javascript(textbox.focus();)将焦点设置到我的文本框上,然后将焦点设置回组合框(combobox.focus();)后立即解决问题 - 这似乎是对我来说相当讨厌,不是吗?


我认为这是相当普遍的,但是我强大的Google fu并没有帮我找到一个简单的解决方案。

1 个答案:

答案 0 :(得分:0)

使用DataGridView控件时,Winforms开发中会出现类似的问题。我通常会在提交按钮的Click事件中附加一些逻辑,以使DataGridView进行验证。我怀疑类似的解决方案对你有用。