嵌套更新面板问题 [英] Nested Update panel problem

查看:160
本文介绍了嵌套更新面板问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个嵌套的更新面板 像这样

I am having a nested update panel something like this

<asp:UpdatePanel ID="DetailsUpdatePanel" runat="server" Visible="false" UpdateMode="Conditional" >
    <ContentTemplate>
    <div><ajaxToolkit:AsyncFileUpload runat="server" ID="BrochureUpload" Width="400px"   
            OnClientUploadError="BrochureuploadError"    
            OnClientUploadStarted="BrochureStartUpload"  
            OnClientUploadComplete="BrochureUploadComplete"  
            CompleteBackColor="Lime" UploaderStyle="Modern"    
            ErrorBackColor="Red" ClientIDMode="AutoID"    
            ThrobberID="Throbber"    
            UploadingBackColor="#66CCFF" 
                onuploadedcomplete="BrochureUpload_UploadedComplete"/>
                <asp:Label ID="Label1" runat="server" Style="display: none">
     <asp:Image runat="server" ID="Image1" ImageUrl="~/Images/uploading.gif" />
            </asp:Label>
      <asp:Label ID="brochurelblstatus" runat="server" Style="font-family: Arial; font-size: small;"></asp:Label></div>
     <div><asp:UpdatePanel runat="server" ID="child" UpdateMode="Conditional" >
                <ContentTemplate>
                <div>
     <asp:GridView ID=GridView2" runat="server" AllowPaging="true" AutoGenerateColumns="false" CellPadding="0" CellSpacing="1" DataKeyNames="ArticleId">
        <Columns>
       <asp:BoundField DataField="ArticleId" HeaderText="ArticleId" ReadOnly="True" HeaderStyle-CssClass="td1" />
       <asp:BoundField DataField="FileName" HeaderText="FileName" ReadOnly="True" HeaderStyle-CssClass="td2" />
       <asp:TemplateField HeaderText="BrochureUrl">
       <ItemTemplate>
       <asp:HyperLink ID="lnkEPhoto" runat="server" BorderWidth="2px" NavigateUrl='<%# GetUrl(Eval("ArticleId"),Eval("FileName")) %>'
                    Target="_blank"></asp:HyperLink>
          </ItemTemplate>
       </asp:TemplateField>
       <asp:TemplateField>
      <ItemTemplate>
       <asp:LinkButton ID="btnRemove" runat="server" text="Delete" CommandName="Delete" CausesValidation="False" OnClientClick="DeleteOrNo()">
       </asp:LinkButton>
         </ItemTemplate>
       </asp:TemplateField>
         </Columns>
        </asp:GridView>
           </div>

                </ContentTemplate>

                </asp:UpdatePanel></div>
    </ContentTemplate>
    </updatePanel>

codeBehind:

CodeBehind:

protected void BrochureUpload_UploadedComplete(object sender, AsyncFileUploadEventArgs e)
                 {
                     if(BrochureUpload.HasFile)
                     {
                         if(BrochureUpload.PostedFile.ContentLength<=3670016 )
                         {
                             var brochurePath = MapPath("~/") + Path.GetFileName(e.filename);
                             BrochureUpload.SaveAs(brochurePath);
                             using (var dataContext = new NewsStandAloneDataContext(Config.StandaloneNewsConnectionString))
                             {
                                 var brochure = new xxx
                                                    {
                                                        Id = Convert.ToInt32(GridView1.SelectedValue),
                                                        FileName = Path.GetFileName(e.filename),
                                                        RecordCreated = DateTime.Now
                                                    };
                                 dataContext.xxx.InsertOnSubmit(brochure);
                                 dataContext.SubmitChanges();
                             }
                             bindGridView();//I have code to bind gridview
    Child.Update();


                         }
                     }
                 }

     protected void bindBrochureGridView()
            {
                using (var dataContext = new NewsStandAloneDataContext(Config.StandaloneNewsConnectionString))
                {
                    var brochureList = (from brochure in dataContext.xxx
                                        where brochure.ArticleId == Convert.ToInt32(GridView2.SelectedValue)
                                        select new ArcticleBrochure
                                                   {
                                                       ArticleId = brochure.ArticleId.ToString(),
                                                       FileName = brochure.FileName

                                                   }).ToList();
                    GridView1.DataSource = brochureList;
                    GridView1.DataBind();        

                }
            }

当我上传的文件,我想这是在孩子的UpdatePanel被更新。但它不工作有什么想法giedview ?????

When I upload the file , I want the giedview which is in the child updatepanel to be updated .But it doesnt work Any ideas?????

在此先感谢

推荐答案

呼叫 child.Update(); BrochureUpload_UploadedComplete 事件。

 protected void BrochureUpload_UploadedComplete(object sender, AsyncFileUploadEventArgs e)
 {
   ....................
   ....................
   bindGridView();//I have code to bind gridview
   child.Update();
 }

这篇关于嵌套更新面板问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆