如何在转发器中禁用控件

时间:2011-01-08 07:11:29

标签: asp.net repeater itemtemplate

我有一个带有CheckBoxTextBox的转发器,我绑定到数据源。根据后面代码的条件,我希望能够动态地停用CheckBoxTextBox

目前这是我在<ItemTemplate>

中的内容
<td>
    <asp:CheckBox runat="server" 
        onclick="checkbox(this); CheckChildren(this);" 
        Enabled='<%#DataBinder.Eval(Container.DataItem, "DISABLE") %>' 
        Text='<%#DataBinder.Eval(Container.DataItem, "CTEXT") %>' 
        Value='<%#DataBinder.Eval(Container.DataItem, "CVALUE") %>' />
</td>

<td>
    <asp:TextBox runat="server" 
        onkeyup="AppendValues(this);" 
        Enabled='<%#DataBinder.Eval(Container.DataItem, "DISABLE") %>' 
        Width="35px" 
        MaxLength="3" 
        Name='<%#DataBinder.Eval(Container.DataItem, "CNAME") %>' 
        CValue='<%3DataBinder.Eval(Container.DataItem, "CNTVALUE") %>'>
    </asp:TextBox>
</td>

在代码运行时,#DataBinder.Eval(Container.DataItem, "DISABLE")被设置为后面代码的字符串值“true”,我收到InvalidCastException异常。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您需要将boolean值传递给Enabled属性。试试这样的事情

bool.Parse(DataBinder.Eval(Container.DataItem, "DISABLE").ToString())