здесь некоторый код в моей странице:ASP.NET веб-форму FileUpload внутри ASCX, который находится внутри UpdatePanel в ASPX
<asp:UpdatePanel ID="UpdatePanelEQSelector" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<uc12:EQSelector ID="custEQSelector" OnEqChange="custEQSelector_OnEqChange" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
Внутри моего контроля пользователя, я попросил, чтобы добавить fileuploader. После кодирования это просто, я тестировал, и мой файловый загрузчик всегда пуст. Я искал какое-то время и обнаружил, что это нормальное поведение. Решение для его работы состоит в том, чтобы добавить PostBackTrigger
для updatePanel.
Когда я протестировал его на моей странице aspx, я сделал это, и у файла fileUploader был файл. Тогда я попытался добавить динамически (в конце концов это сделать в моем контроле), он работал с этим:
PostBackTrigger trigger = new PostBackTrigger();
trigger.ControlID = this.btnTest.ID;
this._UpdatePanelEQSelector.Triggers.Add(trigger);
Но я не могу управлять, чтобы сделать этот код работать в моем контроле (я прошел мой UpdatePanel, как параметр для моего управления, установленный в Load, fileUpload всегда пуст)
Вы видите решение?
С благодарностью
Да, это делает Postback. На данный момент я поместил мою updatePanel внутри моего ascx и добавил мой PostBackTrigger внутри ascx. Похоже, что нет никакого влияния на существующее поведение приложения ... Спасибо за вашу озабоченность. – Emilien
А в порядке, в этом случае это устранило бы вашу проблему: http://www.dotnetspider.com/resources/29004-A-control-with-ID-button-could-not-be-found.aspx – Jim