我正在学校项目网站上创建一个注册表。我已经提供了一个安全问题的下拉菜单,如果用户想要输入他自己的问题,他/她可以选择其他问题,然后文本框会显示我默认设置了visible=false
。
我尝试使用此代码,但它无法正常工作是否有任何我遗漏的东西。
protected void selectques_SelectedIndexChanged(object sender, EventArgs e)
{
if (selectques.Text == "Other")
{
alterquestion.Visible = true;
}
}
DROPDOWNLIST:
<asp:DropDownList ID="selectques" runat="server" Height="25px" Width="254px" OnSelectedIndexChanged="selectques_SelectedIndexChanged">
<asp:ListItem>Select a question?</asp:ListItem>
<asp:ListItem> What is your pet name?</asp:ListItem>
<asp:ListItem>Who is your first teacher?</asp:ListItem>
<asp:ListItem>Which is your favourite movie?</asp:ListItem>
<asp:ListItem>Whom you like most in your life?</asp:ListItem>
<asp:ListItem>Other</asp:ListItem>
</asp:DropDownList>
隐藏文字框:
<asp:TextBox ID="alterquestion" runat="server" Height="20px" Width="250px" Visible="false"></asp:TextBox>
答案 0 :(得分:2)
您需要使用:
if (selectques.SelectedItem.Text == "Other")
应该做的伎俩
答案 1 :(得分:2)
DropDownList.Text
属性为SelectedValue
提供了DropDownList
。但根据您的列表项,没有值字段
您需要检查selectques.SelectedItem.Text
属性以查找ListItem,或者您可以在列表项中添加值字段。
<asp:ListItem
Text="Other"
Value="Other"
/>
修改:
将DropDownList AutoPostBack设置为true
<asp:DropDownList ID="selectques" AutoPostBack= "True" runat="server" Height="25px" Width="254px" OnSelectedIndexChanged="selectques_SelectedIndexChanged">