2013-07-15 45 views
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;  
    } 

但结果是这样的... 我越来越复选框没有选中,旁边的控件已启用...但这不是我想要的

我的结果是如果复选框没有被选中控件它旁边是禁用 任何人都可以帮助这.... 在此先感谢......

+0

是否默认禁用下拉菜单? – Andrei

+0

没有andrei在页面加载我需要禁用dropdownlist ...通过使用复选框检查 –

回答

3

这是因为你刚才写了取消选中pageload中的复选框,而不是禁用复选框后面的控件;如果那是必须的,那么你在页面加载代码段应该是:在页面加载

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); 
    ... 
} 
+0

如果我取消选中复选框,它会自动启动检查更改的事件吗? –

+0

不。这些是手动处理请求时触发的事件/手动检查/取消选中复选框.. !!!如果你想要发生这种情况,那么请将pageload事件片段更改为我编辑的片段..! –

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; 
} 
相关问题