2016-08-03 65 views
0

目前有一个c#asp.net web aspx页面,带有两个下拉列表。第一个下拉列表可见,另一个在页面加载时设置为false。我今天遇到的问题是我需要用户从下拉列表中选择一个唯一的(下面的尝试)值,并且为了使其他下拉列表可见,请使用该值。单值从下拉列表中显示其他字段

我尝试: 这里是标记是什么样子

ddlCollision is the visible drop down list. 
 

 
<div class="row500"> 
 
      <span class="cell200"> 
 
       <asp:DropDownList ID="ddlCollision" runat="server" Height="28px" Width="354px" Style="font-size: 18px" OnSelectedIndexChanged="ddlCollision_SelectedIndexChanged"> 
 
<asp:ListItem Value="0"></asp:ListItem> 
 
<asp:ListItem Value="1">People</asp:ListItem> 
 
<asp:ListItem Value="2">Cars(select below)</asp:ListItem> 
 
     
 
ddlfixedobject is the non visible drop down list     
 
    <div class="row500" id="fixedObject" runat="server"> 
 
    <span class="cell200"> 
 
     <asp:DropDownList ID="ddlFixedObject" runat="server" Height="28px" Width="354px" Style="font-size: 18px" OnSelectedIndexChanged="ddlFixedObject_SelectedIndexChanged"> 
 
    <asp:ListItem></asp:ListItem> 
 
    <asp:ListItem>Sign post</asp:ListItem> 
 
    <asp:ListItem>Guardrail</asp:ListItem> 
 
    </asp:DropDownList>  
 
</span>  
 
</div> 
当值“2”汽车选择我需要的DDL固定物体出现!

以下是我对代码后面很远,索引的改变......

protected void ddlCollision_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    { 
     if (ddlCollision.SelectedValue == "2") 

      fixedObject.Visible = true; 
     else 
      fixedObject.Visible = false; 

    } 
} 
+0

你尝试是代码Page_Load事件里面如果(!的IsPostBack)环 – rach

回答

0

如果你想让它回来后在更新第一个下拉列表,你可能需要添加的AutoPostBack =“真”到第一个DropDownList控件。

+0

我试过了,它没有工作! @锥子 – Bibby

0
if(!ispostBack) 
{ 
    if (ddlCollision.SelectedValue == "2") 

     fixedObject.Visible = true; 
    else 
     fixedObject.Visible = false; 

} 

尝试这段代码内的Page_Load

相关问题