1

アプリケーションの div に問題があります。

という div を作成しましたdivUpload。ドロップダウン メニューから選択した値が「IN」の場合にのみ表示する必要があります。初めてページを開いたときは、すべて正常に動作します(おそらく、ドロップダウンの最初の値(デフォルトで)が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 が消えました。これら 2 つのコントロールだけを含む空白のページを作成して、ページに他のコードが干渉していないかどうかを確認してみましたか?

于 2013-06-07T09:09:52.343 に答える
0

あなたがしなければならないのは、次のものを置き換えることだけです:

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

と :

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

そして正常に動作します:)

ありがとうオディネル:)

于 2013-06-07T09:33:06.390 に答える