2009-06-09 54 views
2

我在写一个文件上传应用程序。所以它包含一个文本框中的一个键名和一个文件上传控制器 。保存按钮用于保存键名和文件。我的问题是,当我在fileupload控件中选择一个文件,并且我不想在keyname文本框中输入任何值并单击保存按钮时,会显示一条消息“输入密钥名”,但文件上载控件已清除。如何保留fileupload控件中的值?保留文件上传控制中的值

回答

4

您无法在FileUpload控件中保留值。这是出于安全原因。您可以使用RequiredFieldValidator作为键名文本框。

+0

请给我一个有关MSDN中的原因的参考? – Sauron 2009-06-09 09:14:04

+0

这两个将帮助: http://www.csharpuniversity.com/2009/03/05/uploading-files-and-validating-them-using-the-aspnet-fileupload-and-customvalidator-controls/ http ://forums.asp.net/p/1155617/1896657.aspx – Kashif 2009-06-09 09:38:44

2

出于安全原因,我不认为您可以将值分配给FileUpload控件。

只要想一想,如果可以的话,你可以默认输入一些已知的具有个人信息的系统文件的路径。然后将控件隐藏在页面上,让用户无论出于何种原因提交页面,并自动下载文件而无需知道。

文件上传控制被锁定,因为如果不是,那么只有很多方法可以利用它。

你有没有考虑过不做回传来检查是否输入了键名?如果没有输入密钥值,请通过javascript进行检查并中止/显示消息。回发是什么是清除值,所以如果你阻止回发发生,那么你的问题将消失,因为你不会在回发问题后绕过文件上传清除。