2008-09-18 181 views

Respuesta

9

Esto no es técnicamente posible por razones de seguridad, por lo que no se puede engañar al usuario.

Sin embargo, hay un par de soluciones, aunque estas requieren trabajar con el HTML sin formato en lugar del control del servidor .NET, eche un vistazo a http://www.quirksmode.org/dom/inputfile.html para ver un ejemplo.

8

Esto es viejo, pero queríamos ofrecer otra solución. Puede usar jQuery en un hipervínculo HTML estándar e iniciar asp:FileUpload al hacer clic en HREF. Simplemente esconde el asp: FileUpload en el diseño y médico el href como quieras.

Enlace

<a href="#" id="lnkAttachSOW">Attach File</a> 

asp: FileUpload

<asp:FileUpload ID="fuSOW" runat="server" style="visibility:hidden;"/> 

Entonces el jQuery:

$("#lnkAttachSOW").click(function() { 
    $("#fuSOW").click(); 
}); 
2

Esto fue como lo hice en .NET utilizando AsynchFileUpload y JavaScript ...

<asp:Button ID="bUploadPicture" runat="server" Text="Upload Picture" 
    OnClientClick="document.getElementById('<%=tFileUpload1.ClientID%>') 
     .click();return (false);" /> 

<div style="display:none;visibility:hidden;"> 
    <asp:AsyncFileUpload ID="tFileUpload1" runat="server" 
     OnUploadedComplete="tFileUpload1_UploadedComplete" /> 
</div> 
Cuestiones relacionadas