2010-09-23 25 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