无论如何动态设置asp:FileUpload中的文本?

时间:2009-12-23 15:12:21

标签: c# asp.net file-upload

当用户从包含图像名称的下拉列表中选择一个项目时,我希望FileUpload文本框中填充一条消息我的程序,例如“用...替换此图像”,我该怎么做?

4 个答案:

答案 0 :(得分:2)

某些浏览器中的安全限制(至少IE)会阻止您实际设置<input type="file" />元素的文本,这是FileUpload ASP.NET控件所呈现的内容。

我正在尝试操纵文件上传元素外观的项目,并且证明以跨浏览器兼容的方式进行操作非常困难。我建议查看基于闪存的解决方案,例如Uploadify,它更易于定制。

答案 1 :(得分:1)

由于控件的性质,出于安全原因,您无法操纵它超出某些样式。

但是,您可以使用基于Flash或Silverlight的上传控件。或者将您想要的消息放在文件输入上方的标签中。

答案 2 :(得分:0)

不可能。 &lt;输入类型=“文件”/&gt;是浏览器chrome的一部分。有些浏览器根本不显示任何文本,因此任何解决方案都不会很健壮。正如布莱恩所建议的那样,使用&lt;标签&gt;。

答案 3 :(得分:0)

正如其他人所说,没有办法直接更改文件名框的文本,但你可以做的是创建一个标签并使用定位来确保标签直接出现在上传者的上方。

<span runat="server" id="SelectedFileSpan" style="position: absolute; top: 10px; left: 12px">
    <asp:Label runat="server" ID="FileNameLabel"></asp:Label>
</span>
<asp:FileUpload runat="server" ID="FileUploader" />

然后设置标签的文本。