【问题标题】:Repeater with expand on table rows asp.net带有扩展表行 asp.net 的中继器
【发布时间】:2015-12-22 11:56:15
【问题描述】:

我正在尝试使用带有标题的表格行以及所有这些,当用户单击任何行时,该行应该展开..

这行得通:

<asp:Repeater runat="server" ID="repeaterShowCases">
            <HeaderTemplate>
                <table class="table table-responsive">
                    <tr>
                        <th>Id</th>
                        <th>Date</th>
                        <th>Title</th>
                        <th>Assigned User</th>
                    </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td>
                        <h1 class="click">
                            <asp:Label runat="server" ID="LabelId" Text='<%# DataBinder.Eval(Container.DataItem,"id").ToString() %>'></asp:Label>

                            <asp:Label runat="server" ID="lblCreatedDate" Text='<%# DataBinder.Eval(Container.DataItem,"CreatedDate").ToString() %>'></asp:Label>
                        </h1>

                        <div class="expand">
                            <asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Title").ToString() %>'></asp:Label>
                            <asp:Label ID="Label3" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"AssignedToUser").ToString() %>'></asp:Label>
                        </div>
                    </td>
                </tr>
            </ItemTemplate>
        </asp:Repeater>

但是这个剂量:

    <asp:Repeater runat="server" ID="repeaterShowCases">
                <HeaderTemplate>
                    <table class="table table-responsive">
                        <tr>
                            <th>Id</th>
                            <th>Date</th>
                            <th>Title</th>
                            <th>Assigned User</th>
                        </tr>
                </HeaderTemplate>
                <ItemTemplate>
                        <tr>
                    <h1 class="click">
                        <td>
                            <asp:Label runat="server" ID="LabelId" Text='<%# DataBinder.Eval(Container.DataItem,"id").ToString() %>'></asp:Label>
                        </td>
                        <td>
                            <asp:Label runat="server" ID="lblCreatedDate" Text='<%# DataBinder.Eval(Container.DataItem,"CreatedDate").ToString() %>'></asp:Label>
                        </td>
                    </h1>

                    <div class="expand">
                        <asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Title").ToString() %>'></asp:Label>
                        <asp:Label ID="Label3" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"AssignedToUser").ToString() %>'></asp:Label>
                    </div>
                </tr>               
 </ItemTemplate>
            </asp:Repeater>

我看起来喜欢表格数据杀死扩展功能..

因为我希望它看起来像一个表格,并且要获取有关特定行的更多信息,用户可以单击它并且该行会随着信息展开..

我知道我还没有所有标题的数据,但这就是我现在正在测试的。

【问题讨论】:

    标签: asp.net repeater


    【解决方案1】:

    这是第二个 sn-p 行的标记,省略了标签:

    <tr>
        <h1>
            <td></td>
            <td></td>
        </h1>
        <div></div>
    </tr>
    

    这是一个错误的表格标记。 tr 不能有任意标签作为子标签,只有 td 在那里有效。看起来这种混合破坏了浏览器处理此表的方式。

    但是,您的第一次尝试是有效的标记,因此您应该考虑采用这种方法。或者,如果由于某种原因它对您不起作用,您的选择是:

    1. 摆脱表格并呈现 div 和 h1 中的所有内容。需要一些努力才能正确对齐,但在标记方面不会限制表格。

    2. 使用 colspans 和 rowspans,或者根据需要添加交替行。

    另外,您不需要页脚模板来关闭&lt;/table&gt;吗?

    【讨论】:

    • 抱歉不知道那里发生了什么..我已经在帖子中纠正了这个问题..现在看起来我已经测试过我不需要页脚模板之前..我没有使用中继器这个之前..所以我不知道.. :)
    • @Tom,但出于常识,你有一个表格的开始标签,所以你也应该有一个结束标签,对吧?
    • 你说得对,我会调查并添加一个!也需要先解决扩展问题:)
    • @Tom,好吧,让我看看我是否理解这个问题。我发现的标记问题有点错别字,对吧?那么真正的问题是扩展脚本不能与新标记一起使用。哪种方式不工作?
    • 是的,这是正确的.. 这两个问题.. 我希望能够扩展每一行以显示有关该行的更多信息。我想要文本框之类的……但这不是问题。因为如果我将所有内容都放在 中,就像在我的帖子中一样,它会起作用..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多