2011-01-08 8 views
0

データソースにバインドするチェックボックスとテキストボックスを持つリピータがあります。後ろのコードからの条件に応じて、チェックボックスとテキストボックスを動的に無効にしたいと考えています。リピータ内のコントロールを無効にする方法

現在、これは私が#DataBinder.Eval(Container.DataItem、「DISABLE」)はまだ背後にあるコードの「真」の文字列値に設定されている

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

以内に持っているものですコードが実行され、私はInvalidCastExceptionエラーを受け取ります。

私は間違っていますか?

答えて

0

Enabledプロパティにbooleanの値を渡す必要があります。このようなものを試してください

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

これは正しいコードの後ろで行いますか? – mattgcon

+0

いいえ、これをあなたの<%# %>宣言内のaspx/ascxファイルに入れなければなりません – karlis

関連する問題