我在Repeater控件中使用了以下HTML块。我可以从客户端(JavaScript)向HTML表添加行,并添加值。当页面通过单击按钮后退时,表格变空。但我也无法从服务器端的绑定转发器控件中获取值。它没有任何表现。如何从客户端向转发器添加值或使用HTML表绑定?
<table id="tblSelectlist" class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>
Name
</th>
<th class="hidden-480">
City
</th>
<th class="hidden-480">
State
</th>
</tr>
</thead>
<tbody>
<asp:repeater id="repSelectlist" runat="server" enableviewstate="true">
<ItemTemplate>
<tr>
<td class="left">
<label id="lblSelectcompany" runat="server">
<%# DataBinder.Eval(Container.DataItem, "DataItem.CustName")%></a>
</label>
</td>
<td class="hidden-480">
<label id="lblSelectCity" runat="server">
<%# DataBinder.Eval(Container.DataItem, "DataItem.custCity")%>
</label>
</td>
<td>
<label id="lblSelectState" runat="server">
<%# DataBinder.Eval(Container.DataItem, "DataItem.custstate")%>
</label>
</td>
</tr>
</ItemTemplate>
</asp:repeater>
</tbody>
</table>
如果我对HTML表使用runat="server"
,则会显示以下错误:
无法转换“System.Web.UI.WebControls.Repeater”类型的值 到'System.Web.UI.HtmlControls.HtmlTableRow'。
答案 0 :(得分:0)
使用转发器控件的HeaderTemplate和FooterTemplate部分。
<asp:repeater id="repSelectlist" runat="server" enableviewstate="true">
<HeaderTemplate>
<table id="tblSelectlist" class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>
Name
</th>
<th class="hidden-480">
City
</th>
<th class="hidden-480">
State
</th>
</tr>
</thead>
<tbody>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="left">
<label id="lblSelectcompany" runat="server">
<%# DataBinder.Eval(Container.DataItem, "DataItem.CustName")%></a>
</label>
</td>
<td class="hidden-480">
<label id="lblSelectCity" runat="server">
<%# DataBinder.Eval(Container.DataItem, "DataItem.custCity")%>
</label>
</td>
<td>
<label id="lblSelectState" runat="server">
<%# DataBinder.Eval(Container.DataItem, "DataItem.custstate")%>
</label>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</tbody>
</table>
</FooterTemplate>
</asp:repeater>