表asp.net中禁用了下拉列表

时间:2013-11-20 08:42:59

标签: asp.net

我尝试禁用表格中的下拉列表...例如当管理员查看任何新文档然后从下拉列表中选择值时,即当他选择并单击按钮时批准/拒绝然后必须禁用此下拉列表然后当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;
            }
        }

1 个答案:

答案 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

相关问题