我正在使用 VB.NET 编写一个 Intranet ASP.NET 页面。我在处理文件上传时遇到了一个特别令人讨厌的问题。我会尽力解释这个问题,也许有人可以提供帮助。
我的问题几乎是重复的this one, or this one,除了(文件名除外)我不关心将文件发送到服务器,直到其他数据被审查为止。
情况是这样的:
Joe Q. 数据输入将一些数据输入到多个字段中。前 3 个是下拉菜单,当他更改选择时,会触发一个回发事件,在数据库中查询其他下拉选择的有效条目。选择值后,他输入一些其他数据,选择伴随数据的文件,然后单击“更新”按钮。当他点击按钮时,它会触发一个回发事件,将当前数据发送到服务器进行验证。数据将在数据库中创建更改,因此他会看到当前状态的视图,以及进行更改后的样子。现在,无论出于何种原因,他都可以确认或取消操作。
他将看到的部分数据涉及文件的扩展名,可能是 PDF,也可能是某些图像文件或其他文档。
现在这就是我的问题所在 - 在每个回发事件中,文件上传对话框都会被清除。我通过在第一次回发时创建一个临时文件,然后在单击“确定”时重命名或在“取消”时删除来解决这个问题......但我需要根据以前的数据状态和文件名执行各种操作。我尝试保留一些会话变量来保留文件名,这对于重命名文件来说没问题,但对于我需要做的事情来说,它变得很笨拙。
我想做的是能够通过回发事件来呈现更改,并且then当用户单击“确定”时,提交文件。有没有可能的方法来做到这一点?
我的想法之一是在客户端进行一些验证(我已经在重新验证服务器端,所以我不太担心那里的数据安全性),但我不知道如何从数据库查询。
感谢您的帮助,并阅读我稍微复杂的故事/情况!
EDIT:
看来我想要做的是阻止某个按钮触发完整的回发。有什么办法可以做到这一点吗?
EDIT II:
我的页面上已经有一个更新面板 - 有什么方法可以让按钮only发布更新面板中有什么内容?
您可能想要做的是将下拉菜单放置在 ASP.NET AJAX UpdatePanel 中,并将文件上传控制置于其中。
您的更新面板将进行回发并允许您的验证逻辑发生而无需提交文件,然后当您点击最后的“保存”按钮(也在您的 UpdatePanel 之外)时,整个表单将被提交回来,您可以工作然后用你的文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)