如何在模板化的FormView中使用TabContainer控件?

时间:2008-11-15 01:22:52

标签: asp.net formview

是否可以在模板化的FormView中使用TabContainer,如下所示:     

            <ItemTemplate>
            <cc1:TabContainer ID="TabContainer1" runat="server">
                <cc1:TabPanel ID="Tab1" runat="server">
                    <HeaderTemplate>Tab One</HeaderTemplate>
                    <ContentTemplate>
                    ... bound fields  
                    </ContentTemplate>
                </cc1:TabPanel>
                <cc1:TabPanel ID="Tab2" runat="server">
                    <HeaderTemplate>Tab 2</HeaderTemplate>
                    <ContentTemplate>
                    ... bound fields    
                    </ContentTemplate>
                </cc1:TabPanel>
            </cc1:TabContainer>
        </ItemTemplate>

        <EditTemplate>
            <cc1:TabContainer ID="TabContainer1" runat="server">
                <cc1:TabPanel ID="Tab1" runat="server">
                    <HeaderTemplate>Tab One</HeaderTemplate>
                    <ContentTemplate>
                    ... bound fields  
                    </ContentTemplate>
                </cc1:TabPanel>
                <cc1:TabPanel ID="Tab2" runat="server">
                    <HeaderTemplate>Tab 2</HeaderTemplate>
                    <ContentTemplate>
                    ... bound fields    
                    </ContentTemplate>
                </cc1:TabPanel>
            </cc1:TabContainer>
        </EditTemplate>

一次只能在一个模板视图中正常工作;例如,如果ItemTemplate工作,则EditTemplate不会。 ASP.NET会抱怨重复的绑定字段ID。

有人试过做我想做的事吗?

谢谢.-基因

编辑:

我不认为具有相同ID的标签容器在这里是问题,因为它们都在单独的模板元素中,并且一次只渲染一个模板。

更新:

我无法找到解决方案,我认为这是不可能的。所以,继续前进并使用唯一ID。懒惰,我写了一些代码来自动化可怕的命名过程。我希望那里有人有更好的答案分享。无论如何,我太穷了,不能给它一个赏金。; - )

2 个答案:

答案 0 :(得分:1)

没有多少使用Tab容器,但您需要为页面上的每个元素定义唯一ID。

<cc1:TabContainer ID="TabContainer1" runat="server">
<cc1:TabContainer ID="TabContainer2" runat="server">

答案 1 :(得分:0)

我通过更改每个标签中的重复字段名称来解决这个问题。