2012-08-30 75 views
0

我正在驗證用戶輸入使用工具箱控件例如文本框,下拉列表,我想當用戶在下拉列表中選擇一個選項使其顯示或隱藏其下的上傳控件。在c#下拉列表中使用show.hide?

例如在下面的代碼中,當單獨工作被選爲YES時,我希望文件上傳控制的Lone工作程序文檔顯示在下面,但如果它是NO答案,我不希望顯示文件上傳控件。

任何幫助將是非常appreciated.Thanks

<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" /> ---%> 

回答

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

+0

嘿回發正在工作,但我更改頁面時出現此錯誤對象引用未設置爲對象的實例。 – madzcoding

+0

什麼是代碼行? –

+0

我已添加備註Ben爲了不刪除您選擇的值,非常重要 –