2
다음 코드가 있는데 UpdatePanel을 업데이트 할 수 없습니다. 어떤 아이디어? 비동기 메서드 내에서 업데이트 할 수 있는지 궁금하네요?내부에서 그리드 업데이트 AsyncFileUpload uploadCompleted 이벤트
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:DataGrid ID="dgFiles" runat="server" DataKeyField="ConfigurationFileId" AutoGenerateColumns="false" GridLines="None"
OnItemCommand="dgFiles_ItemCommand" Width="40%">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Label ID="lblFile" runat="server" Text='<%#Eval("SourceFileName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:LinkButton ID="hypDelete" runat="server" Text="Delete" CssClass="blue" CommandName="Delete" CommandArgument="5"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpdatePanel3" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<ajaxToolkit:AsyncFileUpload ID="Upload1" runat="server" UploaderStyle="Modern" Width="400px"
Style="visibility: hidden" OnUploadedComplete="Upload1_Complete" OnClientUploadComplete="UploadComplete" />
<asp:DataGrid ID="dgAddFiles" runat="server" DataKeyField="ConfigurationFileId" AutoGenerateColumns="false"
Width="40%" Style="visibility: hidden">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Label ID="lblFile" runat="server" Text='<%#Eval("SourceFileName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:LinkButton ID="hypDelete" runat="server" Text="Delete" CssClass="blue" CommandName="Delete" CommandArgument="5"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</ContentTemplate>
</asp:UpdatePanel>
protected void Upload1_Complete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
if (Upload1.HasFile)
{
Upload1.SaveAs(Server.MapPath("~/files/temp/") + Upload1.FileName);
byte[] data = Upload1.FileBytes;
var file = new Files();
file.FileId = Guid.NewGuid();
file.FileName = Upload1.FileName;
file.Data = data;
using (var ctx = new DeviceManagerEntities())
{
ctx.AddToFiles(file);
ctx.SaveChanges();
var files = ctx.Files
.ToList();
dgAddFiles.DataSource = files;
dgAddFiles.DataBind();
UpdatePanel3.Update();
}
}
}