יום ראשון, 3 במרץ 2013

asp:FileUpload בתוך asp:UpdatePanel

מממ... בשורות רעות, אם נרצה לשים בדף מנהל העלאות של ASPX נשתמש ב asp:FileUpload, אבל הבעיה שברגע שמבצעת העלאת קובץ - מתבצע postback מלא של הדף, וכל האלמנטים שצירפנו עד כה ברמת הקליינט נמחקים.

לאחר חיפוש בעניין, מסתבר שהאופציה היחידה לבצע asp:FileUpload בתוך asp:UpdatePanel הוא לבצע זאת עם טריגר שלא עוזר כלום, כי חייבים לעשות זאת במאפיין PostBackTrigger ולא במאפיין AsyncPostBackTrigger.

אז כמו שאומרים, מה הועילו חכמים בתקנתם?
לטובת אלו שרוצים לראות איך עושים זאת בכל זאת (בצורה שעובדת אך לא עוזרת):

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
     <ContentTemplate >
         <asp:FileUpload ID="FileUploadImg" runat="server" />
     </ContentTemplate>
     <Triggers>
          <asp:AsyncPostBackTrigger ControlID="uploadButtonImg" />
     </Triggers>
</asp:UpdatePanel>  

<asp:Button ID="uploadButtonImg" runat="server" Text="שמור" OnClick="UploadFile" />  

וגם חובה להגדיר בקובץ

 protected void Page_Load(object sender, EventArgs e)
    {
        Page.Form.Attributes.Add("enctype", "multipart/form-data");
    }


אין תגובות:

הוסף רשומת תגובה