我尝试在 ASP.NET 论坛上问这个问题,但没有人有解决方案。我开始认为没有一个。
我想做的是自定义 AsyncFileUpload 控件的“浏览”按钮的外观和大小,同时隐藏其文本框。或者,完全隐藏 AsyncFileUpload 并从我可以自定义外观的按钮调用它的功能也很棒。
您仍然可以使用 SLaks 为 AsyncFileUpload 控件提供的解决方案。
编码:
<div id="fileUploadDiv">
<asp:AsyncFileUpload ID="AsyncFileUpload1" runat="server" />
</div>
将以这种方式呈现:
<div id="fileUploadDiv">
<span id="MainContent_AsyncFileUpload1">
<input type="hidden" name="ctl00$MainContent$AsyncFileUpload1$ctl00" id="MainContent_AsyncFileUpload1_ctl00" />
<div id="MainContent_AsyncFileUpload1_ctl01" name="MainContent_AsyncFileUpload1_ctl01">
<input name="ctl00$MainContent$AsyncFileUpload1$ctl02" type="file" id="MainContent_AsyncFileUpload1_ctl02" id="MainContent_AsyncFileUpload1_ctl02" onkeydown="return false;" onkeypress="return false;" onmousedown="return false;" style="width:355px;" />
</div>
</span>
</div>
因此,通过使用 CSS 选择器#fileUploadDiv input[type=file],您可以像使用常规 <input type='file'> 元素一样修改 AsyncFileUpload 控件的样式。
我在此处详细介绍了此解决方案。
通过设置opacity
控件的 ,并添加任何其他大小相同的控件,您可以维护您想要的任何视图。
请找到此参考:
也许这有点偏左,但也许更好的解决方案是使用基于 Flash 的解决方案。有一些是专门为 ASP.NET 制作的,并且显然有相当多的自定义。
这不是直接解决您的问题的方法,而是实现类似结果的另一种方法。