我在申请中遇到div问题。
我创建了一个名为divUpload
的div,只有当下拉菜单中的选定值为“IN”时,才需要它才可见。
我第一次打开页面时一切正常(可能是因为Dropdown中的第一个值(默认情况下)是IN)。
当我改变这个值时,一切都运行正常,所以div消失了。
问题是,当我再次将其更改为IN时,现在div不再出现了:(
我该怎么办?
代码如下:
<div style="height: 25px">
<div style="float: left; width: 200px">
<b>Protocol type:</b>
</div>
<div style="margin-left: 205px">
<asp:DropDownList runat="server" ID="cboProtocolType" AutoPostBack="true"
OnSelectedIndexChanged="cboSelectedProtocolType_IndexChanged">
</asp:DropDownList>
</div>
</div>
<div id="divUpload" runat="server">
<div style="height: 25px">
<div style="float: left; width: 200px">
<b>Upload document:</b>
</div>
<div style="margin-left: 205px">
<asp:FileUpload ID="FileUploadProtocolDocs" runat="server" ToolTip="Upload" />
</div>
</div>
</div>
后面的代码是:
protected void cboSelectedProtocolType_IndexChanged(object sender, EventArgs e)
{
if (cboProtocolType.SelectedValue.Equals("IN"))
{
divUpload.Visible = true;
}
else
{
divUpload.Visible = false;
}
}
答案 0 :(得分:1)
您如何填充下拉列表?我对这样的项目进行了硬编码,并且工作正常:
<asp:DropDownList runat="server" ID="cboProtocolType" AutoPostBack="true" OnSelectedIndexChanged="cboSelectedProtocolType_IndexChanged">
<asp:ListItem>IN</asp:ListItem>
<asp:ListItem>OUT</asp:ListItem>
</asp:DropDownList>
当选择“IN”时,DIV出现。选择“OUT”时,DIV消失。您是否尝试使用这两个控件创建一个空白页面,以查看页面上是否有其他代码干扰它?
答案 1 :(得分:0)
您所要做的就是更换:
if (cboProtocolType.SelectedValue.Equals("IN"))
with:
if (cboProtocolType.SelectedItem.ToString()=="IN")
并且工作正常:)
谢谢odinel:)