0

テキストボックス、ドロップダウンリストなどのツールボックスコントロールを使用してユーザー入力を検証しています。ユーザーがドロップダウンリストでオプションを選択したときに、その下のアップロードコントロールを表示または非表示にします。

たとえば、以下のコードで、単独作業がYES回答として選択されている場合、単独作業手順ドキュメントのファイルアップロードコントロールを下に表示したいのですが、それがNO回答の場合、ファイルアップロードコントロールを画面。

どんな助けでも大歓迎です。ありがとう

  <td class="question">
                             Lone Working:
                    </td>
                    <td>
                        <asp:DropDownList ID="DDLONE" runat="server" Width="150px" 
                            OnSelectedIndexChanged="DDLONE_SelectedIndexChanged">
                            <asp:ListItem Text="Yes"></asp:ListItem>
                            <asp:ListItem Text="No"></asp:ListItem>
                        </asp:DropDownList>
                        <span class="mandatory">*</span>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator27" runat="server" ControlToValidate="DDLONE" ErrorMessage=" Required." InitialValue="Please select one..." ForeColor="Red" SetFocusOnError="true"></asp:RequiredFieldValidator>
                          </td>
                </tr>
                <tr>
                          <td class="question">
                        Lone Working Company Procedure:
                        </td>
                          <td>
                        <asp:AsyncFileUpload ID="AsyncFileUpload3" runat="server" UploaderStyle="Traditional"
                            PersistedStoreType="Session" CssClass="answer" style="float:left" PersistFile="True" CompleteBackColor="#C3D021" />
                        <div class="mandatory" style="display:inline">*</div>
                      <%--- <asp:RequiredFieldValidator ID="AsyncFileUpload3_RequiredFieldValidator" runat="server" 
                            ErrorMessage=" Required."
                            ForeColor="Red"
                            ControlToValidate="AsyncFileUpload3"></asp:RequiredFieldValidator>
                        <asp:TextBox ID="txtUplLone" runat="server" style="display:none" MaxLength="0" /> ---%>
4

1 に答える 1

1

このコードで試すことができます

1 Add AutopostBack="true"
<asp:DropDownList ID="DDLONE" runat="server" Width="150px" 
                            OnSelectedIndexChanged="DDLONE_SelectedIndexChanged" AutopostBack="true">


2

 protected void DDLONE_SelectedIndexChanged(object sender, EventArgs e)
 {
    if(DDLONE.SelectedItem.Text == "Yes")//Adjust
    {
       AsyncFileUpload3.Visible = true;
    }
    else
    {
       AsyncFileUpload3.Visible = false;
    }    
 }

注: ドロップダウンリストをこのメソッドにバインドする必要があります (一度だけ)

if(! IsPostBack)
{
  //Bind
}

そして、ViewState を使用して DropDownList を永続化します

于 2012-08-30T13:50:33.467 に答える