我的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>
答案 0 :(得分:1)
将enctype="multipart/form-data"
添加到表单标记,并在页面Page_Init函数
protected void Page_Init(object sender, EventArgs e)
{
AddTriggers(btnupload.UniqueID);
}