(VS2010的。NET 4.0中){A}(VS2005的。NET 3.5中)简介
这篇文章是关于如何定制的外观和感觉,从Microsoft AJAX Control Toolkit中的AsyncFileUpload。 VS 2010和VS 2005中的源代码是可用的。也可进行现场演示给你看它是如何运行。背景
AJAX控件工具包是微软的开源项目。该工具包,其中有一个非常有用的控制??代码> AsyncFileUpload??你可以看到微软的官方演示控制。
它的强大,但很难自定义其内置的属性。
我成功地通过两种方法定制。你可以看到我的现场演示。使用代码
您提取的源代码后,你可以直接打开解决方案文件(一个VS2010的,只是在VS2005的情况下)。
为了简单起见,他们都下quot编辑;网络sitequot;项目不quot;网络applicationquot。您可以直接通过点击quot运行; runquot;从IDE。
注:VS2010项目需要NET 4.0中本地安装调试。 VS2005的项目需要。NET 3.5的本地安装调试。兴趣点
定制AsyncFileUploader的基本思想是使用面膜绝招:
AsyncFileUploader透明和有一个按钮或图像看起来覆盖AsyncFileUploader。但实际上,AsyncFileUploader蒙面按钮/图像上。因此,用户似乎单击蒙面自定义的按钮/图像,但实际点击的AsyncFileUploader。
这只是基本的想法。我在这两种方法实施。
方法1,方便快捷。基本上,你让一个类似规模AsyncFileUploader的自定义的按钮。这种方法的限制,是因为AsyncFileUploader本身的大小是很难调整(特别是高度,如果它甚至有可能),你不能让大按钮。
{A4}
方法2让我为自己感到骄傲:我们的想法是,你不能轻松地调整AsyncFileUploader大小,但可以将其移动。所以,我移动它里面的"大图片"按钮。每当用户点击,点击AsyncFileUploader获取。
为了更清晰,我有一个X / Y位置框来显示你鼠标的位置,当它在图像范围。如果你真的想看到的内部控制是如何移动的,你可以改变控制的透明值(完全透明的,它的0至,你可以改变半透明至50)。
{A5}要注意的
我没有找到一个很好的方式正常赶上超过大小上传问题。我试过的global.asax应用程序错误的醒目,也尝试错误醒目内置AsyncFileUpload。它似乎global.asax中可以捕获特定的错误,但不能把它摆好。所以,我最终使用警告用户界面和LT ="500quot; / GT从web.config中的httpRuntime maxRequestLength的。它并不完美,但所有主要浏览器。
要注意的另一件事:该解决方案还根据最新的IE9 RC,但你有IE8的兼容模式下运行。概要
代码下进行测试的主流浏览器:IE8/IE9 RC /火狐3.6/Chrome 9。真的很高兴有这样一个内置的控制工作。
希望这是在您的项目有帮助。