在c#asp.net中启用DropdownList的列表项
我的代码是在c#asp.net中启用DropdownList的列表项,c#,asp.net,C#,Asp.net,我的代码是 <asp:ListItem Value="Above 50" Text="Above 50" Enabled='<%# (((string)(Eval("Gender"))).Contains("Male"))? true:false%>'></asp:ListItem> 代码中出了什么问题?我认为您处理问题的方式有点错误。这个问题和答案似乎正是您想要的: 在您的情况下,您将绑定到检查性别值的函数或值。没有任何数据绑定事件。因此这里不能使用Ev
<asp:ListItem Value="Above 50" Text="Above 50" Enabled='<%# (((string)(Eval("Gender"))).Contains("Male"))? true:false%>'></asp:ListItem>
代码中出了什么问题?我认为您处理问题的方式有点错误。这个问题和答案似乎正是您想要的: 在您的情况下,您将绑定到检查性别值的函数或值。没有任何数据绑定事件。因此这里不能使用
Eval()
您需要调用下拉列表中的数据绑定事件,并在那里执行检查
类似这样的事情-
protected void MyDropDownList_DataBound(object sender, EventArgs e)
{
var ddl = sender as DropDownList;
foreach (ListItem item in ddl.Items)
{
if (Gender == "Male")
{
item.Attributes.Add("disabled", "disabled");
}
}
}
请注意,enabled=false
将删除列表项,而disabled=disabled
仅将其灰显。下拉列表控件位于何处?您可以发布它的父控件的代码吗?包含
返回Bool,因此'
应该足够了。或''
protected void MyDropDownList_DataBound(object sender, EventArgs e)
{
var ddl = sender as DropDownList;
foreach (ListItem item in ddl.Items)
{
if (Gender == "Male")
{
item.Attributes.Add("disabled", "disabled");
}
}
}