1

我在复选框旁边启用相应控件时遇到问题。我的要求是在页面加载时,我们希望通过使用复选框禁用所有文本框和下拉列表,如果选中该复选框,则该复选框旁边的控件将启用,因为我已经这样做了......

在页面加载时

我是这样写的

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            ChckOrdType.Checked = false;
            ChkPlntPric.Checked = false;
            ChkExcluBro.Checked = false;
            ......
            .....
        }

然后在复选框中检查更改的事件我这样写

    protected void ChckOrdType_CheckChanged(object sender, EventArgs e)
    {
        if (ChckOrdType.Checked)           
            ddlOrdType.Enabled = true;
        else 
            ddlOrdType.Enabled = false;            
    }

    protected void chkPlntPric_CheckChanged(object sender, EventArgs e)
    {
        if (ChkPlntPric.Checked)
            ddlPlntPric.Enabled = true;
        else
            ddlPlntPric.Enabled = false;
    }

    protected void chkExcluBro_CheckChanged(object sender, EventArgs e)
    {
        if (ChkExcluBro.Checked)
            ddlExcluBroker.Enabled = true;
        else
            ddlExcluBroker.Enabled = false;       
    }

但结果是这样的......我没有选中复选框并且启用了旁边的控件......但这不是我想要的

我的结果是,如果未选中复选框,它旁边的控件将被禁用,任何人都请帮助解决这个问题....提前致谢......

4

2 回答 2

3

这是因为您刚刚编写了 ONLY 以取消选中页面加载中的复选框,而不是禁用复选框后面的控件;如果需要,那么页面加载中的代码段应该是:

if (!Page.IsPostBack)
{
  ChckOrdType.Checked = false;
  ChkPlntPric.Checked = false;
  ChkExcluBro.Checked = false;
  ......
  .....
  ddlOrdType.Enabled = false; 
  ddlPlntPric.Enabled = false;
  ddlExcluBroker.Enabled = false;  
  .........
}

或者

if (!Page.IsPostBack)
{
  ChckOrdType.Checked = false;
  ChkPlntPric.Checked = false;
  ChkExcluBro.Checked = false;
  ......
  .....

  ChckOrdType_CheckChanged(sender,e);
  chkPlntPric_CheckChanged(sender,e);
  chkExcluBro_CheckChanged(sender,e);
  ...
}
于 2013-07-15T10:37:47.343 回答
0

在页面加载中禁用文本框,如下所示。

protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            ChckOrdType.Checked = false;
            ChkPlntPric.Checked = false;
            ChkExcluBro.Checked = false;

            DisableFirstTime();
            ......
            .....
        }


private void DisableFirstTime()
{
  ddlOrdType.Enabled = false; 
  ddlPlntPric.Enabled = false;
  ddlExcluBroker.Enabled = false;  
}
于 2013-07-15T10:39:45.650 回答