导航

FileUpload.HasFile一直是false

Posted on 2013-09-17 09:16  杨彬Allen  阅读(857)  评论(0)    收藏  举报

先说下原因:

  是因为母版中添加了UpdatePanel,子页面的Content又指向这个含有UpdatePanel的ContentPlaceHolderID。

  这就导致FileUpload其实是被包含在UpdatePanel中,HasFile也一直为空。

 

最终解决方法:

  在模板中添加一个没有UpdatePanel的ContentPlaceHolder2,将子页面重新指向这个就行了。

<asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server">
                    </asp:ContentPlaceHolder>
                    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                        <ContentTemplate>
                            <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
                            </asp:ContentPlaceHolder>

 

再贴下最终的代码,供以后参考:

<asp:LinkButton ID="BtnImport" class="hot_line" runat="server" Text="导入" Style=""></asp:LinkButton>
            <asp:FileUpload ID="FileUploadForImport" runat="server" onchange="javascript:__doPostBack('BtnImport','')"
                Width="40px" Style="filter: alpha(opacity:0); opacity: 0; z-index: 9; height: 24px;
                cursor: pointer; position: relative; margin: 0 0 0 -40px; margin: 0 0 -8px -40px\9;" />
protected void Page_Load(object sender, EventArgs e)
        {
            if(FileUploadForImport.HasFile)
            {
                //Do
            }
        }