0

我正在使用中继器:

<asp:Repeater ID="rptAdvertisements" runat="server" OnItemCommand="rptAdvertisements_ItemCommand" >
    <ItemTemplate>        
            <tr <%# Eval("RowStyle")%>>
                <td><input  type="checkbox" DISABLED /></td>
                <td><%# Eval("ADV_Title")%></td>
                <td><%# Eval("ADV_NbView")%></td>
                <td><%# Eval("Date")%></td>
                <td><%# Eval("DateEnd")%></td>
                <td><img src="<%=ResolveClientUrl("~/Images/Advertisements/")%><%# Eval("IMG")%>" alt="<%# Eval("ADV_Title")%>" title="<%# Eval("ADV_Title")%>" style="max-height:100px;max-width:100px;" /></td>  
                <td><input  type="checkbox" id="checkbox1" runat="server"  checked='<%#Convert.ToBoolean(Eval("ADV_Special"))%>'   /></td>
                <td><input  type="checkbox" id="checkbox2" runat="server"  checked='<%#Convert.ToBoolean(Eval("ADV_Info"))%>'   /></td>
                </tr>
    </ItemTemplate>
</asp:Repeater>

如何禁用检查复选框这个中继器?

4

3 回答 3

1

投射到bool而不是Convert.ToBoolean

改变

<input  type="checkbox" id="checkbox1" runat="server"  checked='<%#Convert.ToBoolean(Eval("ADV_Special"))%>'   />

<input  type="checkbox" id="checkbox1" runat="server"  checked='<%# (bool)(Eval("ADV_Special"))%>'   />
于 2012-11-28T15:59:26.863 回答
0

在您希望复选框永久禁用的基础上,您需要向disabled标记添加一个属性。

例如

<input  type="checkbox" disabled id="checkbox1" runat="server" checked='<%#Convert.ToBoolean(Eval("ADV_Special"))%>'   />

编辑:您的代码似乎也没有选中该复选框。为了检查复选框,它只需要checked存在或不存在属性(而不是将其设置为true/false你有它)。

checked因此,除了禁用它之外,您还需要执行以下操作来显示/隐藏该属性:

<input  type="checkbox" id="checkbox1" disabled <%#Convert.ToBoolean(Eval("ADV_Special")) ? "checked" : String.Empty %>  />

注意 - 要做到这一点,您必须删除该runat="server"属性以停止格式错误的服务器控件的问题。如果您想访问后端中的复选框,您可以始终使用 anasp:CheckBox代替,如下所示:

<asp:CheckBox ID="checkbox1" Enabled="false" Checked='<%#Convert.ToBoolean(Eval("ADV_Special"))'  runat="server" />
于 2012-11-28T17:09:38.387 回答
0

老问题,但这可能对某人有帮助:

<input type="checkbox" <%# ((bool)Eval("ShouldCheck") ? "checked='checked' disabled='disabled'" : "") %> />

此示例检查数据绑定容器的 ShouldCheck 布尔属性。如果为真,它会检查复选框并禁用它。我的用例是我希望用户能够仅在尚未选中的情况下选中该框(单向复选框)。

于 2014-08-27T20:33:25.070 回答