ASP.NET webform Fileupload在ascx里面,它位于aspx的updatepanel中

时间:2014-11-04 13:58:59

标签: asp.net webforms

这是我页面中的一些代码:

<asp:UpdatePanel ID="UpdatePanelEQSelector" runat="server" UpdateMode="Conditional">
                <ContentTemplate>
                    <uc12:EQSelector ID="custEQSelector" OnEqChange="custEQSelector_OnEqChange" runat="server" />
                </ContentTemplate>
            </asp:UpdatePanel>

在我的用户Control中,我被要求添加一个fileuploader。 简单编码后,我测试了,我的fileuploader总是空的。 我搜索了一段时间,发现这是一种正常的行为。 使其工作的解决方案是为updatePanel添加PostBackTrigger

当我在我的aspx页面中测试它时,我实现了它并且我的fileUploader拥有该文件。 然后我尝试动态添加它(最终在我的控件中执行它),它使用了:

PostBackTrigger trigger = new PostBackTrigger();
        trigger.ControlID = this.btnTest.ID;
        this._UpdatePanelEQSelector.Triggers.Add(trigger);

但是我无法让这个代码在我的控件中工作(我将updatePanel作为参数传递给我在Load中的控件集,fileUpload总是为空)

你看到了解决方案吗?

由于

1 个答案:

答案 0 :(得分:1)

它是否回发,但是将控件留空?或者根本没有回复。如果它没有回发,我会添加这个

ScriptManager.GetCurrent(this).RegisterPostBackControl(btnTest);

到用户控件的page_load。

如果它回发了,但是控件是空的,那么我打赌在页面的某个地方可能会有一些狡猾的HTML,并且值会丢失。