0

我正在使用 Telerik radUpload 控件来构建像 gmail 文件上传这样的页面,我使用以下代码打开了一个 display:none radUpload 控件:

    <telerik:RadUpload ID="RadUpload1" Runat="server"   OnClientAdded="onClientAdded" ControlObjectsVisibility="None" Localization-Select="abcd"></telerik:RadUpload>
<script type="text/javascript">
var $fileInput;
function onClientAdded(sender, args) {
$fileInput = $telerik.$(args._fileInputField);
}
function OpenDialog() {
$fileInput.click();
uploadTimer();
}
</script>

他是我的 UploadTimer 函数:

function uploadTimer() {
try {
var t = setTimeout("uploadTimer()", 500);
//var v = $("#RadUpload1").val();
var upload = $find("<%= RadUpload1.ClientID %>");
value = upload.getFileInputs()[0].value;
//IE?
if (navigator.userAgent.indexOf("MSIE") != -1) {
//if (value != '') {
$("#btnSubmit").click();//}
}
else//non IE?
{if (value != '') {
$("#btnSubmit").click();}
}}
catch (err) {}}

我点击这个按钮来显示我的radUpload,然后调用一个计时器,它调用一个按钮服务器端点击函数将radUpload选择的文件保存到服务器,但是我在IE中没有上传文件,这是怎么回事?

<input type="button" value="select file" style="font-family:Tahoma;" onclick="OpenDialog()" />
4

1 回答 1

1

您是否将任何代码包装在 AJAX 面板或 UpdatePanel 中?您不能将 AJAX 与该控件一起使用来执行更新。

相反,如果您想要 AJAX 上传文件,类似于 Gmail 的做法,请使用 RadAsyncUpload:http ://www.telerik.com/help/aspnet-ajax/asyncupload-overview.html

于 2012-09-27T12:31:11.240 回答