如何在Checkbox asp c#中绑定数据库中的每个id?

时间:2014-01-14 08:12:50

标签: c# asp.net sql-server-2008 data-binding checkbox

我想将SQL Server上的数据库中的每个id绑定到CheckBox。我在ObjectContainerDataSource上绑定数据库数据。然后我想从步骤1绑定到复选框。但它不起作用。这是我的代码:

表格取消信息

CancelId | CancelDetail
1 | Cancel01
2 | Cancel02
3 | Cancel03

HTML FROM

<asp:ObjectContainerDataSource ID="ocdCancel" runat="server"
                               OnSelecting="OcdCancel_OnSelecting"
                               DataObjectTypeName="DataAccessLayer.Master.CancelInfo"
                               UsingServerPaging="True" />
<div>
    <asp:Repeater ID="rptItems" runat="server" DataSourceID="ocdCancel">
        <ItemTemplate>
            <asp:CheckBox runat="server" ID="checkCancel01" DataSourceID="ocdCancel" value='<%# Eval("CancelId") %>'  />
        </ItemTemplate>
    </asp:Repeater>
</div>

* 结果网页,,,□&gt;&gt; CheckBox *

□□□□□□

但我想要结果网页

□Cancel01

□Cancel02

□Cancel03

1 个答案:

答案 0 :(得分:0)

创建一个像这样的分隔符模板

<SeperatorTemplate><br /></SeperatorTemplate>

然后,您必须在转发器上调用DataBind()之前绑定ItemDataBound事件。在这种情况下,当您将项目数除以5时,您可以查看项目计数和显示分隔符,如下所示:

if (e.Item.ItemType == ListItemType.Seperator)
  e.Item.Visible = ((e.Item.Parent as Repeater).Items.Count % 1 == 0);

另一种解决方案是在asp:Checkbox之后添加以下内容:

<div style="clear: both" runat="server" Visible="<%# (Container.ItemIndex+1) % 1 == 0 %>"></div>