如何禁用转发器中的复选框(ASP.NET)

时间:2012-11-28 15:51:34

标签: javascript asp.net html

我正在使用转发器:

<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>

如何禁用此转发器的复选框?

3 个答案:

答案 0 :(得分: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"))%>'   />

答案 1 :(得分:0)

如果您希望永久禁用该复选框,则需要在标记中添加disabled属性。

e.g。

<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"

注意 - 要执行此操作,您必须取出asp:CheckBox属性以停止格式错误的服务器控件的问题。如果您想要访问后端的复选框,则可以始终使用<asp:CheckBox ID="checkbox1" Enabled="false" Checked='<%#Convert.ToBoolean(Eval("ADV_Special"))' runat="server" /> ,如下所示:

{{1}}

答案 2 :(得分:0)

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

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

此示例检查数据绑定容器的ShouldCheck布尔属性。如果为true,则检查复选框并禁用它。我的用例是我希望用户只有在尚未选中(单向复选框)时才能选中该框。