1

我的应用程序中的 div 有问题。

我创建了一个名为的 div divUpload,仅当下拉菜单中的选定值为“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;
            }
        }
4

2 回答 2

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 消失。您是否尝试过仅使用这两个控件创建一个空白页面,以查看您的页面上是否有其他代码干扰它?

于 2013-06-07T09:09:52.343 回答
0

您所要做的就是更换:

if (cboProtocolType.SelectedValue.Equals("IN"))

和 :

if (cboProtocolType.SelectedItem.ToString()=="IN")

并且工作正常:)

谢谢 odinel :)

于 2013-06-07T09:33:06.390 回答