FileUpload postsFile по-прежнему возвращает NULL, почему? - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть modalpopup внутри пользовательского элемента управления с именем PoPupModel.ascx

<ajaxToolkit:ModalPopupExtender
      BackgroundCssClass="modalBackground"
      ID="PopupMsg"
      Drag="true" DropShadow="true"
      CancelControlID="imgPopupClose"
      TargetControlID="btnShowPopup"
      PopupControlID="pnlPopup"
      BehaviorID="PopupMsg_Behavior"
      runat="server">
</ajaxToolkit:ModalPopupExtender>

<asp:Button ID="btnShowPopup" runat="server" Style="display: none" />
<asp:Button ID="btnRetour" runat="server" Text="Retour" CssClass="m-btn" Style="display: none" />

<asp:Panel ID="pnlPopup" runat="server" CssClass="MyModalCustomPopupCss" Style="display: none;">
    <div class="header">
        <div class="matricule">
            <asp:Literal ID="Matricule" runat="server"></asp:Literal>
        </div>
        <div class="name">
            <asp:Literal ID="Name" runat="server"></asp:Literal>
        </div>
    </div>

    <div align="left" style="position: relative;">
        <a id="imgPopupClose" runat="server" class="close"></a>
    </div>
    <div class="body">
        <asp:PlaceHolder runat="server" ID="PlaceHolderContent" />
    </div>
    <div class="footer" align="right">

    </div>
</asp:Panel>

И в коде позади PoPupModel.ascx:

        public string MessageTitle { get; set; }
        public string MatriculeTitle { get; set; }
        private ITemplate contents = null;
        //public string mat { get; set; }

        [TemplateContainer(typeof(TemplateControl))]
        [PersistenceMode(PersistenceMode.InnerProperty)]
        [TemplateInstance(TemplateInstance.Single)]
        public ITemplate Contents
        {
            get { return contents; }
            set { contents = value; }
        }

        public void ShowPopUp()
        {
            Name.Text = (String.IsNullOrEmpty(MessageTitle)) ? "Information" : MessageTitle;
            Matricule.Text = (String.IsNullOrEmpty(MessageTitle)) ? "XXXX" : MatriculeTitle;
            PopupMsg.Show();
        }

        public void HideModal()
        {
            PopupMsg.Hide();

        }

        protected void Page_Init()
        {
            if (contents != null)
                contents.InstantiateIn(PlaceHolderContent);
        }
        protected void Page_Load(object sender, EventArgs e)
        {

        }

я вызываю пользовательский элемент управления внутри другого пользовательский элемент управления, который я назвал UC_ListCertif.ascx следующим образом:

<ucPoPupModel:UC_PoPupModel runat="server" ID="ajouterCertificat">
    <Contents>
        <asp:UpdatePanel runat="server">
            <ContentTemplate>
               <div class="modal-body">
                 <asp:FileUpload runat="server" CssClass="ZtxtLeft fileUpload" Width="100%" 
                     ID="FileUploadCertif" Font-Size="X-Small" />
               </div>
               <div class="modal-footer">
                 <asp:Button runat="server" ID="btnSave" class="btn btn-success btn-lg" Text="ADD" 
                    OnClick="btnSave_Click"></asp:Button>
            </ContentTemplate>
            <Triggers>
                <asp:PostBackTrigger ControlID="btnSave" />
            </Triggers>
        </asp:UpdatePanel>
    </Contents>
</ucPoPupModel:UC_PoPupModel>

когда всплывающее окно вызывается с помощью .shopopup () и загружает файл, а когда я нажимаю кнопку ADD, fileUpload возвращает NULL в коде, стоящем за UC_ListCertif. ascx.cs

private void AddCertificat()
{
   HttpPostedFile postedFile = FileUploadCertif.PostedFile;
   string fileName = Path.GetFileName(postedFile.FileName);
   string fileExtension = Path.GetExtension(fileName);
   int fileSize = postedFile.ContentLength;

//some code here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...