2017-02-14 115 views
0

我有两个asp控件:一个FileUpload和一个按钮 在FileUpload上,我添加uploadify属性,它的工作原理 我也想使用按钮在代码隐藏上做一些操作,然后调用文件上传,但该文件弹出窗口不会出现从代码隐藏调用Uploadify

出于测试目的,我试图减少对客户端的所有,但它仍然无法工作......

这里是我的三个标签

<asp:Button Text="Browse" OnClick="Carica_File_Click" runat="server" ID="UploadButton" CssClass="Load_Button" align="center"/> 
<asp:Button Text="BrowseFromClient" OnClientClick="openfileDialog();" runat="server" ID="Button1" CssClass="Load_Button" align="center"/> 
<asp:FileUpload runat="server" ID="FileUploadMain" align="center" /> 

客户si德

<script type="text/javascript"> 
    $(window).load(
     function() { 
      $("#ContentPlaceHolderMain_FileUploadMain").uploadify({ 
       'swf': '../Scripts/uploadify.swf', 
       'cancelImg': '../images/uploadify-cancel.png', 
       'buttonText': 'Browse Files', 
       'uploader': '../FrontEnd/Upload.ashx<%=GetUploadParams()%>', 
       'folder': '', 
       'fileDesc': 'UPLOAD FILES', 
       'fileExt': '*.jpg;*.jpeg;*.gif;*.png;*.pdf;*.doc;*.docx', 
       'multi': true, 
       'auto': true, 
       'buttonImage': '<%=GetUploadFileUrl()%>', 
       'width': 217, 
       'removeTimeout': 1, 
       'removeCompleted': false, 
       'buttonClass': '', 
       'onUploadSuccess': function() { 
        location.reload(true); 
       } 

      }); 
     } 
    ); 
</script> 
<script> 
     function openfileDialog() { 
      $("#FileUploadMain").click(); 
     } 
</script> 

服务器端

Protected Sub Carica_File_Click(sender As Object, e As EventArgs) 
    Dim ClientID As String = FileUploadMain.ClientID 
    ScriptManager.RegisterStartupScript(Me, Page.GetType, "Script", "document.getElementById('#" & ClientID & "').click();", True) 
    ...code 
End Sub 

我走到哪里错了?

回答

0

在端我没有一个解决方法:

用于执行所述代码我被迫上的文件被成功地上传至极然后对代码在Page_Load处理后面

 $(window).load(
      function() { 
       $("#ContentPlaceHolderMain_FileUploadMain").uploadify({ 
        ....parameters 
        'onUploadSuccess': function (file, data, response) { 
         location.reload(true); 
         var ObjF = file.name; 
         __doPostBack('FileLoaded', ObjF); 
        } 
       }); 
      } 
     ); 

的情况下的回传标签虽然点击,据我所知不可能为用户的安全(因为上传点击处理的代码或隐藏的按钮可能是危险的) 所以我隐藏了uploadify按钮,并把它放在我可以处理的定制按钮

   <div style="position:relative;" class="row box_upload"> 
        <div style="width:100%;"> 
         <asp:FileUpload runat="server" ID="FileUploadMain" align="center" /> 
        </div> 
        <asp:Button text="Browse" style="width:100%;height:100%;position:absolute;top:0;left:0;" runat="server" ID="UploadButton" return false;" ></asp:button> 
       </div> 

缺点是,与我这个客户端点击不能使用按钮,因为它由uploadify对象叠加点击,但我会离开它时,它将是必要的(并与我不需要的回发方法其他任何东西)