javascript - 服务器正在尝试将 HTML 表内的 Repeater 控件转换为 HtmlTableRow

标签 javascript html asp.net vb.net webforms

我已在另外两个页面中成功使用了以下代码:

<table id="TBL_Tracks" runat="server" class="table table-striped table-responsive" data-paging="true" data-page-size="10" data-sorting="true" data-filtering="true">
    <thead>
        <tr>
            <th data-field="TrackID" data-type="number">ID</th>
            <th data-field="TrackName">Name</th>
            <th data-field="TrackLength">Length</th>
            <th data-field="TrackNumber" data-type="number"># in Album</th>
            <th data-field="Album.AlbumName">Album</th>
            <th data-field="Album.Band.BandName">Band</th>
            <th data-sortable="false">&nbsp;</th>
            <th data-sortable="false">&nbsp;</th>
            <th data-sortable="false">&nbsp;</th>
        </tr>
    </thead>
    <tbody>
        <asp:Repeater ID="REP_Tracks" runat="server">
            <ItemTemplate>
                <tr>
                    <td>
                        <asp:Label ID="LBL_TrackID" runat="server" Text='<%#Eval("TrackID") %>' />
                    </td>
                    <td>
                        <asp:Label ID="TrackName" runat="server" Text='<%#Eval("TrackName") %>' CssClass="text-primary font-weight-bold" />
                    </td>
                    <td>
                        <asp:Label ID="LBL_TrackLength" runat="server" Text='<%#Eval("TrackLength") %>' />
                    </td>
                    <td>
                        <asp:Label ID="LBL_TrackNumber" runat="server" Text='<%#Eval("TrackNumber") %>' />
                    </td>
                    <td>
                        <asp:Label ID="LBL_AlbumName" runat="server" Text='<%#Eval("Album.AlbumName") %>' />
                    </td>
                    <td>
                        <asp:Label ID="LBL_BandName" runat="server" Text='<%#Eval("Album.Band.BandName") %>' />
                    </td>
                    <td>
                        <asp:Button ID="BTN_Details" runat="server" CssClass="btn btn-block btn-lg btn-info" Text="Details" CommandName="Details" UseSubmitBehavior="false" />
                    </td>
                    <td>
                        <asp:Button ID="BTN_Edit" runat="server" CssClass="btn btn-block btn-lg btn-warning" Text="Edit" data-toggle="modal" data-target="#EditTrack" CommandName="Edit" UseSubmitBehavior="false" />
                    </td>
                    <td>
                        <asp:Button ID="BTN_Delete" runat="server" CssClass="btn btn-block btn-lg btn-danger" Text="Delete" CommandName="Delete" UseSubmitBehavior="false" />
                    </td>
                </tr>
            </ItemTemplate>
        </asp:Repeater>
    </tbody>
</table>

但是我没有使用 FooTable.js 获得一个很好的可排序、可过滤和分页表,而是收到以下错误:

Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: BC30311: Value of type 'System.Web.UI.WebControls.Repeater' cannot be converted to 'System.Web.UI.HtmlControls.HtmlTableRow'.

我也知道这段代码是有效的,因为我尝试使用内联代码块,但我的“删除”、“详细信息”和“编辑”按钮需要一个 NamingContainer 才能正常运行。您可以阅读问答here 。在前面的几页中,我已经轻松地使用了日期格式、数字和字符串;这个唯一不同的是它使用 TimeSpan 作为轨道长度 - Public Property TrackLength As TimeSpan。老实说,我不认为问题出在中继器控制上;而是问题出在中继器控制上。我认为这个页面在其他方面非常非常困惑,这让我很困惑。 :D

最佳答案

事实证明,如果您想在表中使用 Repeater,那么将 runat="server" 添加到表中并不是一个好主意。一旦我把它脱下来,一切都很好!

关于javascript - 服务器正在尝试将 HTML 表内的 Repeater 控件转换为 HtmlTableRow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57401475/

相关文章:

javascript - Polymer Designer 在按钮单击时移动 "core-card"

javascript - 如何在 JavaScript 上创建 div 并设置样式

javascript - 为什么当我用纯 JavaScript 单击 <a> 时, "this"返回一个 url 而数组返回 "undefined"?

asp.net - 如何关闭 ASP.NET 必填字段验证器 "lost focus"行为

javascript - ExtJS4 LinkBut​​ton 组件

html - 宽度未知的水平居中 block

javascript - 将类添加到 Jquery HTML 变量

html - 添加 2 :before's :after's on same div to create 2 triangles

c# - 在 ASP.NET Web 窗体中对特定 URL 启用 CORS

asp.net - 为什么 Asp.net mvc 应用程序不能在 Asp.Net Classic 应用程序池上运行?