Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在asp.net网站的更新面板中自动将文件上载到服务器_C#_Asp.net_Ajax_Updatepanel_Ajaxcontroltoolkit - Fatal编程技术网

C# 在asp.net网站的更新面板中自动将文件上载到服务器

C# 在asp.net网站的更新面板中自动将文件上载到服务器,c#,asp.net,ajax,updatepanel,ajaxcontroltoolkit,C#,Asp.net,Ajax,Updatepanel,Ajaxcontroltoolkit,我在更新面板中有一个文件上传,还有一个上传按钮,可以将文件上传到服务器。是否可以在不单击上载按钮的情况下上载文件我想删除上载按钮,并在从用户机器中选择文件后立即上载该文件。或者,设置一个4秒计时器,然后调用upload\u单击,检查文件上载是否有文件。如果更新面板中没有按钮,我怎么做 <asp:UpdatePanel ID="UP_DDL" runat="server" UpdateMode="Always" ChildrenAsTriggers="true"> <Co

我在更新面板中有一个文件上传,还有一个上传按钮,可以将文件上传到服务器。是否可以在不单击上载按钮的情况下上载文件我想删除上载按钮,并在从用户机器中选择文件后立即上载该文件。或者,设置一个4秒计时器,然后调用
upload\u单击
,检查文件上载是否有文件。如果更新面板中没有按钮,我怎么做

<asp:UpdatePanel ID="UP_DDL" runat="server" UpdateMode="Always" ChildrenAsTriggers="true">
    <ContentTemplate> 
        <asp:FileUpload ID="FileUpload1" runat="server" />
        <asp:Button ID="Upload" OnClick="Upload_Click" runat="server" Text="Upload" />
    </ContentTemplate>
    <Triggers>
        <asp:PostBackTrigger ControlID="Upload"/>
    </Triggers>
</asp:UpdatePanel>

protected void Upload_Click(object sender, EventArgs e)
{
    if (FileUpload1.HasFile)
    {
        //create the path to save the file to     
        string fileName = Path.Combine(Server.MapPath("~/Bulk Upload"), FileUpload1.FileName);
        //save the file to our local path  
        FileUpload1.SaveAs(fileName);
    }
}

受保护的无效上载\u单击(对象发送者,事件参数e)
{
if(FileUpload1.HasFile)
{
//创建保存文件的路径
字符串fileName=Path.Combine(Server.MapPath(“~/bulkupload”),FileUpload1.fileName);
//将文件保存到本地路径
FileUpload1.SaveAs(文件名);
}
}

您需要使用一些客户端代码来模拟单击,例如使用Javascript中的
submit
——我相信至少有一个著名的浏览器不支持这一点,即IE

否则,您可以使用jQuery ajax调用静态web方法,当文件上载控件的值发生更改时,这些方法会在后台动态地进行上载。

我确信您可以使用HTML输入文件元素启动完整的回发,这就是自动上载文件所需的全部内容

谷歌,至少在标准界面上,使用某种Flash插件来实现你想要的


可能还有其他一些jQuery插件提供了这种开箱即用的功能,例如,似乎可以这样做。

您可以使用
display:none
inline样式隐藏上载按钮,并将以下代码添加到
Page\u PreRender
方法:

FileUpload1.Attributes["onchange"] = ClientScript.GetPostBackClientHyperlink(Upload, "");

或考虑使用AjcManuxTooKiTo/

中的AcyCyFielPoad控件,我怎么才能更新更新面板,使整个页面不刷新?因为标准的FielyPoad控件不能完成这一点,因为它需要完整的回发。在FileUpload控件的onchange事件中的my javascript中。我确实获得了回发事件,但PostedFile属性为null,并且HasFile=false。当我第二次选择一个文件时,它工作得很好!!