使用文件上载控件的ASP.NET问题

时间:2012-07-17 14:04:04

标签: c# asp.net .net visual-studio-2010 updatepanel

尝试使用ASP.NET文件上传控件时遇到了困难。 发生的事情是,当我从后面的代码调用文件上传控件时,我总是得到一个FileUploadControl.HasFile = false。 我进行了一些研究,尝试了不同的方法无济于事。该控件正在以下场景中使用: 控件包含在一个div中,通过JQuery将其称为弹出对话框。与fileupload控件一起,有两个链接按钮,用于操作上述控件(从文件导入XML和操作)。

感谢。

以下是我的代码示例。

<asp:scriptmanager id="ScriptManager1" runat="server">
    </asp:scriptmanager>
<div style="text-align: center; margin-left: auto; margin-right: auto">
    <asp:fileupload id="FileUploadControl" runat="server" />
    <asp:updatepanel runat="server">
                <ContentTemplate>                    
                    &nbsp;
                    <asp:LinkButton ID="Append" runat="server" Text="Append" OnClick="Append_Click"></asp:LinkButton>
                    &nbsp;
                    <asp:LinkButton ID="Overwrite" runat="server" Text="Overwrite" OnClick="Overwrite_Click"></asp:LinkButton>
                </ContentTemplate>
                <Triggers>
                    <asp:PostBackTrigger ControlID="Append" />
                    <asp:PostBackTrigger ControlID="Overwrite" />
                </Triggers>
            </asp:updatepanel>
</div>

1 个答案:

答案 0 :(得分:1)

您需要删除UpdatePanel。您无法在部分回发上传文件,如果UpdatePanel中的所有内容都触发了文件上传,则不需要:

<div style="text-align: center; margin-left: auto; margin-right: auto">
    <asp:fileupload id="FileUploadControl" runat="server" /> 
        &nbsp;
        <asp:LinkButton ID="Append" runat="server" Text="Append" OnClick="Append_Click"></asp:LinkButton>
        &nbsp;
        <asp:LinkButton ID="Overwrite" runat="server" Text="Overwrite" OnClick="Overwrite_Click"></asp:LinkButton>
</div>

注意:UpdatePanel开发的一般提示。如果遇到任何没有意义的怪异,请删除UpdatePanel并测试您的代码。 UpdatePanel有很多限制,具体取决于您的页面/控件的复杂性。