您的位置:首页 > 其它

设置页面所有控件只读。

2009-01-20 11:09 417 查看
/// <summary>
/// 设置当前页面上的所有可输入和选择的控件为只读属性
/// </summary>
/// <param name="page"></param>
public static void SetControlReadOnly(Page page)
{

foreach (Control ctrl in page.Controls)
{
SetControlReadOnly(ctrl);

}
}

//递归调用。设置控件只读。
public static void SetControlReadOnly(Control ctr)
{
if (ctr is TextBox)
{
TextBox txtControl = (TextBox)ctr;
txtControl.ReadOnly = true;
txtControl.Enabled = false;

}
else if (ctr is RadioButton)
{
RadioButton btn = (RadioButton)ctr;
btn.Enabled = false;

}
else if (ctr is RadioButtonList)
{
RadioButtonList btn = (RadioButtonList)ctr;
btn.Enabled = false;
}

else if (ctr is CheckBox)
{
CheckBox cb = (CheckBox)ctr;
cb.Enabled = false;
}
else if (ctr is DropDownList)
{
DropDownList list = (DropDownList)ctr;
list.Enabled = false;
}

else if (ctr is HtmlTextArea)
{
HtmlTextArea cb = (HtmlTextArea)ctr;
cb.Attributes.Add("readonly", "");
cb.Disabled = true;
}
else if (ctr is HtmlSelect)
{
HtmlSelect rb = (HtmlSelect)ctr;
rb.Disabled = true;
}

else if (ctr is HtmlInputCheckBox)
{
HtmlInputCheckBox rb = (HtmlInputCheckBox)ctr;
rb.Disabled = true;
}
else if (ctr is HtmlInputRadioButton)
{
HtmlInputRadioButton rb = (HtmlInputRadioButton)ctr;
rb.Disabled = true;
}
else if (ctr is HtmlInputText)
{
HtmlInputControl input = (HtmlInputControl)ctr;
input.Attributes.Add("readonly", "");
input.Disabled = true;
}
else
foreach (Control ctr1 in ctr.Controls)
{
SetControlReadOnly(ctr1);
}
}


因为是递归调用,把当前页面传入就可以了,方法会找页面中所有的控件。

/// <summary>
/// 取消只读属性
/// </summary>
/// <param name="page">要操作的页面,一般传this</param>
/// <param name="ControlID">控件ID</param>
public static void RemoveReadOnlyByID(Page page, string ControlID)
{

Control ctr = page.FindControl(ControlID);
if (ctr is TextBox)
{
TextBox txtControl = (TextBox)ctr;
txtControl.ReadOnly = false;
txtControl.Enabled = true;

}
else if (ctr is RadioButton)
{
RadioButton btn = (RadioButton)ctr;
btn.Enabled = true;

}

else if (ctr is CheckBox)
{
CheckBox cb = (CheckBox)ctr;
cb.Enabled = true;
}
else if (ctr is DropDownList)
{
DropDownList list = (DropDownList)ctr;
list.Enabled = true;
}

else if (ctr is HtmlTextArea)
{
HtmlTextArea cb = (HtmlTextArea)ctr;
cb.Attributes.Remove("readonly");
cb.Disabled = false;
}
else if (ctr is HtmlSelect)
{
HtmlSelect rb = (HtmlSelect)ctr;
rb.Disabled = false;

}

else if (ctr is HtmlInputCheckBox)
{
HtmlInputCheckBox rb = (HtmlInputCheckBox)ctr;
rb.Disabled = false;
}
else if (ctr is HtmlInputRadioButton)
{
HtmlInputRadioButton rb = (HtmlInputRadioButton)ctr;
rb.Disabled = false;
}
else if (ctr is HtmlInputText)
{
HtmlInputControl input = (HtmlInputControl)ctr;
input.Attributes.Remove("readonly");
input.Disabled = false;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: