首页 新闻 搜索 专区 学院

ASP.NET DetailsView + Repeater 渲染输出问题

0
悬赏园豆:10 [已关闭问题] 关闭于 2012-09-28 14:05

 状况是这样:

  我在用DetailsView控件 显示字段内容的时候 使用了Repeater控件,结构是这样的:

<asp:DetailsView ID="dvEmployee" runat="server" AutoGenerateRows="False">                        
    <asp:TemplateField HeaderText="Manager" >
         <EditItemTemplate> 
                <asp:Repeater ID="rptManagerList" EnableViewState="true" runat="server">
                    <ItemTemplate>
                      <asp:Label ID="lblManager" CssClass="labelitem" runat="server" Text='<%#Eval("LabelText") %>'></asp:Label>
                </ItemTemplate>
             </asp:Repeater>
         </EditItemTemplate>
     </asp:TemplateField>
</asp:DetailsView>


1.比如我选择一个项目进行 [编辑],弹出一个窗口,然后绑定数据到 DetailsView上时,
在后台代码给 rptManagerList 绑定数据源.按理来说 rptManagerList的视图会随着
我绑定的数据源条目进行渲染然后显示. 但是 结果rptManagerList 没有显示任何条目!

2.然后 我再次点击 [编辑],后台执行逻辑跟第一步骤一样,然后 rptManagerList 数据
竟然显示出来了,而且 每次我进行编辑都是这样,都需要点击两次 [编辑] rptManagerList
中的数据才显示! 这个就是我 困惑的地方???

 

    protected void DisplaySelectedManagers()
    {
        Repeater rptManagerList = dvEmployee.FindControl("rptManagerList") as Repeater;
     
        rptManagerList.DataSource = SelectedManagers;
        rptManagerList.DataBind();  
     
    }


环境补充说明:
以上代码是包含在 UpdatePanel 中的.
编辑的时候是以Ajax形式的时候执行的.

 

大家帮忙解惑,我实在想不到为什么 第二次的时候才显示 Repeater中的数据,
就感觉想 第一次的时候绑定了数据,但是没有渲染,第二次点击[编辑]的时候,
第一次渲染的结果才输出来.这是否与 DetailsView有关系?因为要下班所以
没有能够独立出来写例子测试,请大家帮忙看看!

小弟在此谢过各位,预祝大家中秋快乐!

kaleyroy的主页 kaleyroy | 初学一级 | 园豆:160
提问于:2012-09-27 18:47
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册