簡體   English   中英

在GridView中並非總是會觸發Asp.net Keydown事件

[英]Asp.net Keydown Event not always fired within GridView

在griview中(使用IE),可單擊一列單元格(通過gridview行命令事件),一旦單擊單元格,它將顯示一個隱藏的文本框(在單擊該單元格之前,visible = false); 用戶可以在文本框中輸入文本,並允許保存對文本框所做的更改,並告知用戶按Tab鍵。 通過使用Javascript通過在keydown事件中檢查鍵碼來完成保存,它只檢查何時keycode = 9 (Tab key) __doPostback('OnClick','SaveButton'); SaveButton onclick事件SaveButton中,只需調用存儲過程即可將新文本更改保存到數據庫中。

我遇到的問題是雖然大多數情況下都不會觸發keydown事件。 當它可以工作和什么時候不工作時,情況似乎沒有什么區別,所以對我來說,這有點隨機,我必須強調它在90%的時間內都可以工作。

值得一提的是,當用戶單擊單元格以編輯文本框時,首先會引發gridview行更新事件,因為我不僅需要為此列文本更改而且還需要為其他列數據更新啟用gridview行更新事件。

當用戶按下Tab鍵后一切都正常運行時,事件序列為:

  1. Gridview行更新
  2. Keydown / SaveButton單擊
  3. Gridview行更新

我不明白是什么觸發了事件3,即第二個gridview行更新事件,盡管它對文本保存到數據庫之后沒有任何危害,但它不會對任何事件造成任何損害。 但是,當按Tab鍵不起作用(未保存文本)時,不會觸發第二個gridview行更新事件; 僅會觸發第一行更新事件,並且丟失文本框的更改並恢復為原始文本。

我是asp.net的新手,希望有人可以對這個問題有所了解。

我發現了為什么第二次觸發GridView行更新事件,這是因為可編輯文本框的AutoPost設置為True。

愚蠢的我...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM