简体   繁体   中英

UpdatePanel in Master Page and FileUpload on Child Page

My updatePanel is in MasterPage and FileUpload is in Child Page. As FileUpload requires a full PagePostBack I tried following approaches, but none of them worked, fileupload.hasfile gives false and postedfile is null. Not sure what else to do. Please go through and suggest. Is there anything that I am missing. Using .NET Framework 4.0, Bootstrap 4

Approach 1 - Adding Postback trigger through code behind

  AddTriggers(btnupload.UniqueID);

    public static void AddTriggers(string ControlID)
    {
        UpdatePanel UP = Page.Master.FindControl("MainUpdPanel") as UpdatePanel;
        UpdatePanelControlTrigger trigger = new PostBackTrigger();
        trigger.ControlID = ControlID;
        UP.Triggers.Add(trigger);
    }

Approach 2 - Wrapping fileupload and it's button in a separate UpdatePanel in child Page

 <asp:UpdatePanel ID="Upld" runat="server">
     <ContentTemplate>
       <div class="input-group form-inline">
            <asp:FileUpload ID="FileUploadreq" runat="server" />
                <asp:Button runat="server" ID="btnupload" Text="Upload" OnClick="btnupload_Click" />
                <asp:LinkButton runat="server" Text="View" ID="lnkview" OnClick="lnkview_Click" Visible="False"></asp:LinkButton>
               </div>
               </ContentTemplate>
                 <Triggers>
                 <asp:PostBackTrigger ControlID="btnupload" />
               </Triggers>
              </asp:UpdatePanel>

Add enctype="multipart/form-data" to the form tag and add the trigger in your page Page_Init function

protected void Page_Init(object sender, EventArgs e)
{
     AddTriggers(btnupload.UniqueID); 
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM