2014-09-11 2 views
0

У меня есть элемент управления fileUpload и кнопка внутри datalist, которая находится внутри UpdatePanel, и пользователю необходимо загрузить файл с помощью элемента управления fileUpload и кнопки. Как добавить триггер обратной связи для кнопки, чтобы выбранные файлы через fileupload загружаются на сервер.установка триггера обратной передачи для кнопки внутри datalist внутри updatepanel

  <asp:UpdatePanel runat="server" ID="UpdatePanel"> 
        <ContentTemplate> 

    <asp:DataList ID="dlComments" runat="server" Width="100%" 
             onitemcommand="dlComments_ItemCommand" DataKeyField="CommentID" 
             onitemdatabound="dlComments_ItemDataBound" > 
           <ItemTemplate> 
<asp:Label ID="lblSnNo" runat="server" class="label-small-grey" Text='<%#Eval("CommentNumber") %>' ></asp:Label> 
<label style="font-size:12px; font-style:normal"><%#Eval("CommentText") %></label> 
       <textarea runat="server" id="txtaCommentText" style="resize:none;" rows="3" cols="3" class="form-control" placeholder="Your Comments Here"></textarea><Br> 
      <asp:FileUpload ID="fileUploadReply" multiple="true" runat="server" class="" /></p><br> 
      <asp:Button ID="btnPostReplyComment" CommandName="PostReplyComment" class="btn btn-primary" runat="server" Text="Post" /> 

    </ItemTemplate> 

         </asp:DataList> 
        </ContentTemplate> 



     <Trigger> 
     </Triggers> 
      </asp:UpdatePanel> 

На CodeBehind,

protected void dlComments_ItemCommand(object source, DataListCommandEventArgs e) 
{ 
if (e.CommandName == "PostReplyComment") 
{ 

FileUpload fileUploadReply = (FileUpload)e.Item.FindControl("fileUploadReply"); 
functionTOStoreCommetns(); 
    string filename = Path.GetFileName(fileUploadReply.FileName); 
      fileUploadReply.SaveAs(Server.MapPath("~/") + filename); 
} 


} 

Файлы получить загружены, если его не в DataList путем добавления PostBackTrigger к UpdatePanel Пожалуйста, помогите добавить запись назад триггер для Бютен

ответ

0

В вашем DataList ItemDataBound события, сделайте это:

protected void dlComments_ItemDataBound(object sender, DataListItemEventArgs e) 
{ 
    FileUpload lFileUpload = (FileUpload)e.Item.FindControl("fileUploadReply"); 
    PostBackTrigger lTrigger = new PostBackTrigger(); 
    lTrigger.ControlID = lFileUpload.ID; 
    UpdatePanel.Triggers.Add(lTrigger); 
} 
+0

Я сделал это b ut его ошибка: элемент управления с ID 'fileUploadReply' не найден для триггера в UpdatePanel 'UpdatePanel' –

+0

Вы контролируете видимость элемента управления или строки DataList или самого DataList? Если элемент управления не отображается, он не будет найден. – navigator

Смежные вопросы