复选框在页面加载时无法正常工作
本文关键字:常工作 工作 加载 复选框 | 更新日期: 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;
}