2010-09-23 31 views
0

我正在開發一個Web應用程序,它將工作隊列中的項目顯示給用戶。當選擇一個項目時,我讓應用程序鎖定該項目,以便其他用戶不能選擇它。通過點擊應用程序中的後退按鈕,可以解鎖項目。執行VB中特定鍵擊的功能

我希望能夠解鎖項目,如果用戶點擊退格鍵。我知道我需要什麼代碼來解鎖它。我只需要知道如何使代碼在退格鍵上執行。

我需要執行的代碼是服務器端代碼。

在此先感謝。

+0

嗯,退格鍵默認情況下,調用頁面回瀏覽器。不知道是否可以重新加載它。 – Danil 2010-09-23 14:29:23

+0

是的,這是問題。如果用戶按下退格按鈕,則不執行解鎖項目的代碼。 – GeekIT1001 2010-09-23 20:29:30

回答

2
<script> 
    document.onkeydown = function (e) 
    { 
     if (window.event && window.event.keyCode == 8) { 
     __doPostBack('__Page', 'MyCustomArgument'); 
     } 
    } 
    </script> 

如果您需要在服務器上執行代碼,你必須改變你的問題相應

編輯:

  • 你可以設置一個Hiddenfield的價值F.E. 「unlockItem」並執行document.forms [0] .submit()並檢查服務器端或更好的隱藏值:
  • 使用客戶端__doPostBack從ASP.Net生成的函數提交頁面(例如,DropDownList的selectedIndexChanged )。如果你想要最乾淨的方式,你甚至可以使用generate it from Codebehind

我改變了上面的代碼,但我認爲你的下一個問題可能是你應該知道哪個項目被選中,不是嗎? 然後,你必須澄清我們正在談論什麼項目。 在服務器端你傳遞的參數有:

If Page.IsPostBack Then 
    Dim eventArg As String = Request("__EVENTARGUMENT") 
End If 

結束如果

+0

是的,它正在工作:)。我測試了按鍵並沒有結果。 – Danil 2010-09-23 14:31:14

+0

我很高興我能幫忙,不要忘記標記爲答案時); – 2010-09-23 14:36:22

+0

對不起,我確實需要在服務器上執行代碼。具體而言,我需要運行SQL更新。 – GeekIT1001 2010-09-23 20:30:09