2011-05-16 25 views
0

我有一個下拉列表填充產品表的產品。我有一個名爲ADD Product的按鈕,因此當用戶想要添加一個新產品而不是從下拉列表中選擇產品時,應該點擊添加新的面板,並且應該顯示哪個面板包含一個文本框。 Panel1的可見性默認設置爲false,當用戶點擊按鈕時它應該是可見的。另外我想要驗證下拉列表和文本框(如果面板是可見的)。下面是一個不正常的代碼:使用下拉列表和驗證在asp.net

<asp:DropDownList ID="DropDownList1" runat="server"> 
     </asp:DropDownList> 
     <%--<asp:TextBox ID="txtMake" runat="server" CssClass="txtStyle"></asp:TextBox>--%> 
     <asp:Button ID="btnAdd" runat="server" /> 
     <asp:Panel ID="panel1" Visible="false" runat="server"><asp:TextBox ID="txtAddnew"></asp:TextBox></asp:Panel> 
     <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="Please Select a Product" ValidationGroup="insert" ControlToValidate="DropDownList1" ForeColor="Red"></asp:RequiredFieldValidator><br /> 

代碼隱藏:

protected void btnAdd_Click(object sender, EventArgs e) 
    { 
     panel1.Visible = true; 
    } 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
     { 
      MultiView1.ActiveViewIndex = 0; 
      DropDownList1.DataSource = caravans.GetProductNames(); 
      DropDownList1.DataBind(); 
     } 
    } 
+0

張貼您的完整表單設計。 – 2011-05-16 12:03:03

回答

1

您可以在下拉列表使用這一概念進行驗證。我給你一個例子,請檢查這...

<asp:DropDownList runat="server" ID="ddl"> 
      <asp:ListItem Value="-1" Text="Select"></asp:ListItem> 
      <asp:ListItem Value="1" Text="One"></asp:ListItem> 
      <asp:ListItem Value="2" Text="Two"></asp:ListItem> 
     </asp:DropDownList> 
     <asp:RegularExpressionValidator ID="reg1" runat="server" ControlToValidate="ddl" 
      Display="Dynamic" ErrorMessage="Select Proper" SetFocusOnError="true" Text="Select Proper" 
      ValidationGroup="check" ValidationExpression="^\d{0,5}$" /> 
     <asp:Button ID="btn" runat="server" ValidationGroup="check" Text="Submit" />