母版页中的UpdatePanel和子页面上的FileUpload

时间:2018-03-14 10:43:24

标签: c# asp.net twitter-bootstrap

我的updatePanel在MasterPage中,FileUpload在Child Page中。 由于FileUpload需要一个完整的PagePostBack,我尝试了以下方法,但它们都没有工作,fileupload.hasfile给出false,而postfile为null。不知道还能做什么。请仔细检查并提出建议。有什么我想念的吗? 使用.NET Framework 4.0,Bootstrap 4

方法1 - 通过代码

添加回发触发器
  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);
    }

方法2 - 在子页面的单独UpdatePanel中包装fileupload及其按钮

 <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>

1 个答案:

答案 0 :(得分:1)

enctype="multipart/form-data"添加到表单标记,并在页面Page_Init函数

中添加触发器
protected void Page_Init(object sender, EventArgs e)
{
     AddTriggers(btnupload.UniqueID); 
}