![](/img/trans.png)
[英]Asp.net gridview with dropdown: Rowindex is always 0 in SelectedIndexChanged event
[英]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鍵后一切都正常運行時,事件序列為:
我不明白是什么觸發了事件3,即第二個gridview行更新事件,盡管它對文本保存到數據庫之后沒有任何危害,但它不會對任何事件造成任何損害。 但是,當按Tab鍵不起作用(未保存文本)時,不會觸發第二個gridview行更新事件; 僅會觸發第一行更新事件,並且丟失文本框的更改並恢復為原始文本。
我是asp.net的新手,希望有人可以對這個問題有所了解。
我發現了為什么第二次觸發GridView行更新事件,這是因為可編輯文本框的AutoPost設置為True。
愚蠢的我...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.