如何触发OnCommandClick比OnClientClick
本文关键字:OnClientClick OnCommandClick 何触发 | 更新日期: 2023-09-27 17:50:48
我正在OnCommandClick中创建一个会话,以保存有关将被下载的文件的信息。如果我点击下载它,OnClientClick工作正常,我可以下载文件。
但是当我有一个超过一个文件的网格时,我认为函数OnClientClick比OnCommandClick先被触发,所以会话在下载后被更新,所以我总是得到错误的文件。就在我再次单击同一文件时,正确的文件出现了(因为可能在第一次单击后会话被更新了)。
例如:文件1、2、3和4…如果我点击文件1,它会下载,但当我点击文件2时,它会再次下载文件1,如果我点击文件4,它会下载文件2,如果我点击3,它会下载文件4,总是前一个。
我可以强制OnCommandCLick先运行而不是OnClientClick来尝试解决这个问题吗?
OnClientClick
总是先被调用。我建议摆脱OnClientClick
并将文件下载代码移动到服务器端事件OnCommandClick
,就在更新会话之后。
你可以使用FileStream或注入javascript代码来启动文件下载