2014-11-04 28 views
0

这里的UpdatePanel内是在我的网页一些代码:ASP.NET Web窗体文件上传的ASCX里面这是在ASPX

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

在我的用户控制,有人问我添加fileuploader。 简单地编码后,我测试了我的文件上传器总是空的。 我搜索了一段时间,发现这是一个正常的行为。 使其工作的解决方案是为updatePanel添加PostBackTrigger

当我在我的aspx页面中测试它时,我实现了它并且我的fileUploader具有该文件。 然后我试图将其添加动态(最终做到这一点在我的控制),它与工作:

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

但我不能设法使此代码工作在我的控制(我通过我的UpdatePanel作为一个参数给我在负载中的控制集,fileUpload始终是空的)

你看到一个解决方案吗?

谢谢

回答

1

它是否回发,但保持空白?或者它根本没有回复。如果它不回发,我会将这个

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

添加到用户控件的page_load中。

如果它是回发,但控件是空的,那么我打赌那里可能是一些不友好的HTML页面上的某个地方,价值正在迷失。

+0

是的,它确实Postback。现在,我已将我的updatePanel放入我的ascx中,并在ascx中添加了我的PostBackTrigger。它看起来对现有的应用程序行为没有影响......感谢您的关注。 – Emilien 2014-11-05 08:34:20

+0

好的,在这种情况下,这将解决您的问题:http://www.dotnetspider.com/resources/29004-A-control-with-ID-button-could-not-be-found.aspx – Jim 2014-11-05 09:36:08