FineUI 官方论坛

标题: ExtAspNet.CheckBox问题 [打印本页]

作者: 凤舞天翔    时间: 2012-4-6 18:17
标题: ExtAspNet.CheckBox问题
问题一:当设置CheckBox的Readonly=true;
             页面上仍能点击复选框,改变是否选中。
问题二:当设置CheckBox的Enabled = false;
             后台代码无法改变Checked属性。

作者: sanshi    时间: 2012-4-7 21:59
这两个逻辑都是对的。

1. 首先Enabled = false;,无法在客户端改变,但是服务器端可以修改,比如用来初始化。

2. Readonly=true只是简单的设置内部DOM元素的readonly属性,但是对checkbox无效。
可以看extjs的解释:
Note: this only sets the element's readOnly DOM attribute. Setting readOnly=true, for example, will not disable triggering a ComboBox or DateField; it gives you the option of forcing the user to choose via the trigger without typing in the text box.
作者: 凤舞天翔    时间: 2012-4-9 12:28
sanshi 发表于 2012-4-7 21:59
这两个逻辑都是对的。

1. 首先Enabled = false;,无法在客户端改变,但是服务器端可以修改,比如用来初始 ...

Enabled = false;服务器端可以修改,但好像只可以做初始化。不能再通过代码修改其checked的值。
<ext:CheckBox ID="cb" runat="server" Enabled="false" />
<ext:Button ID="btn" runat="server" Text="Button"></ext:Button>

        protected void btn_Click(object sender, EventArgs e)
        {
            cb.Checked = !cb.Checked;
        }

比如一个项目,左边列表项目的名称,右边显示选中项目的具体信息,其中包括一个checkbox属性。普通用户进入只看点击查看信息,不能修改信息,那么也就是说这个checkbox只能看,而不能被修改。
1、checkbox.readonly=true,无效,用户可以点击修改。
2、checkbox.enabled=false,用户虽不能修改,但却不能反映出项目信息。
  如:选项目1时,此checkbox为checked=true;选项目2时,此checkbox为checked=false。
  这就需要通过代码来修改checkbox的checked值,现却无法修改。





欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4