如何触发OnCommandClick比OnClientClick

本文关键字:OnClientClick OnCommandClick 何触发 | 更新日期: 2023-09-27 17:50:48

我正在OnCommandClick中创建一个会话,以保存有关将被下载的文件的信息。如果我点击下载它,OnClientClick工作正常,我可以下载文件。

但是当我有一个超过一个文件的网格时,我认为函数OnClientClickOnCommandClick先被触发,所以会话在下载后被更新,所以我总是得到错误的文件。就在我再次单击同一文件时,正确的文件出现了(因为可能在第一次单击后会话被更新了)。

例如:文件1、2、3和4…如果我点击文件1,它会下载,但当我点击文件2时,它会再次下载文件1,如果我点击文件4,它会下载文件2,如果我点击3,它会下载文件4,总是前一个。

我可以强制OnCommandCLick先运行而不是OnClientClick来尝试解决这个问题吗?

如何触发OnCommandClick比OnClientClick

OnClientClick总是先被调用。我建议摆脱OnClientClick并将文件下载代码移动到服务器端事件OnCommandClick,就在更新会话之后。

你可以使用FileStream或注入javascript代码来启动文件下载