0

form( FormView) を databinding( ObjectDataSource) で使用しており、すべての入力フィールドは を使用してバインドされて'<%# Bind("field") %>'います。

すべて正常に動作しますが、2 つの問題があります ( this.Validate()orの使用に関するさまざまなヒントが見つかりまし.EndEdit()たが、どれも機能していないようです)。

  • エントリは入力フィールドを離れた後にのみ保存されるため、フォーカスが失われます

Name という ID のテキスト ボックスがあり、「George」と入力するとします。次のテキストボックスにタブで移動するか、別の場所をクリックして保存をクリックすると、すべてが保存されます。しかし、テキストボックスにフォーカスを置いたままにすると、値は保存されません。なぜこうなった?これを回避するには、どのような魔法を使用できますか (JavaScript で解決できますか?)。

  • テキストボックスのフィールド値 ( element.value) を Javascript 経由で設定しました (コンボボックスで何かを選択したとき)。

上記と同じ問題が適用されます。テキストボックスにフォーカスを与えてタブアウトした場合にのみ、値が保存されます。これにより、ユーザーがコンボボックスで何かを選択するだけで (それに応じてテキストボックスが更新されます)、先に進むという問題が発生します。ユーザーが後でテキストボックスをクリックして再度タブアウトすることは望ましくありません。


編集:

2 つ目の問題は、Javascript を介してテキスト ボックスにフォーカスを設定し ( textbox.focus();)、フォーカスをコンボ ボックスに戻した直後に解決しました ( combobox.focus();)。


これはかなり一般的だと思いますが、私の強力な Google fu は簡単な解決策を見つけるのに役立ちませんでした。

4

1 に答える 1

0

コントロールを操作するときに、Winforms開発で同様の問題が発生する可能性がありDataGridViewます。私は通常、送信ボタンのClickイベントにロジックをアタッチして、DataGridViewを検証します。ここでも同様の解決策が役立つと思います。

于 2012-09-13T19:37:08.380 に答える