我尝试禁用表格中的下拉列表...例如当管理员查看任何新文档然后从下拉列表中选择值时,即当他选择并单击按钮时批准/拒绝然后必须禁用此下拉列表然后当amdin再次查看新文档时然后在这个下拉列表必须启用,直到管理员批准/拒绝此文件.....我是如何做到这一点..
protected void Repeater2_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
DropDownList ddldrop = e.Item.FindControl("DropDownList4") as DropDownList;
HiddenField hfDepartmentId = e.Item.FindControl("hfDepartmentId") as
HiddenField;
if (ddldrop != null && hfDepartmentId != null)
{
if(hfDepartmentId.Value != string.Empty && hfDepartmentId.Value.Trim() !=
"3")
{
ddldrop.SelectedValue = hfDepartmentId.Value.Trim();
ddldrop.Enabled = false;
}
}
答案 0 :(得分:0)
我假设您要启用,如果departID为“3”,但您的else
中没有if
。以下是您的方法的简化版本:
protected void Repeater2_ItemDataBound(Object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DropDownList ddldrop = (DropDownList) e.Item.FindControl("DropDownList4");
HiddenField hfDepartmentId = (HiddenField) e.Item.FindControl("hfDepartmentId");
ddldrop.Enabled = hfDepartmentId.Value == "3";
if(ddldrop.Enabled) ddldrop.SelectedValue = hfDepartmentId.Value;
}
}
请注意,我已经检查了ListItemType
,这使得空引用检查变得多余。你还应该为你的控件使用更多的menaingful名称,我建议DdlDepartment
而不是DropDownList4
。