复选框在页面加载时无法正常工作

本文关键字:常工作 工作 加载 复选框 | 更新日期: 2023-09-27 18:22:34

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

页面加载

我写的是这样的

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

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

我的结果是,如果没有选中复选框,它旁边的控件将被禁用有人能帮忙吗。。。。提前感谢。。。。。。

复选框在页面加载时无法正常工作

这是因为您刚刚写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);
  ...
}

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

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