2016-02-22 28 views
-1

Web表單從下拉列表中選擇值的特定值,我有一個包含3個值一個下拉列表:早餐,午餐,晚餐。 和兩個文本框應該只接受時間。文本框應當驗證,以接受使用ASP.net

條件1:如果選擇的值是早餐,用戶只能早上7點之間進入時間在文本框中上午10點。 條件2:如果選擇的值是午餐,用戶只能下午12:00之間進入時間至下午2:00 條件3:如果選擇的值是晚餐,用戶只能下午8:00之間進入時間至晚上10:00

+0

什麼是您的問題exaclty? –

+0

發佈您的代碼並清楚地描述它 – anand

+0

使用自定義驗證器https://msdn.microsoft.com/en-us/library/f5db6z8k.aspx –

回答

0

由於您沒有包含任何現有的代碼,我不會解釋我的工作。 :)

的.aspx

<form id="form1" runat="server"> 
    <asp:DropDownList ID="ddlMeal" runat="server" AutoPostBack="true" 
     OnSelectedIndexChanged="ddlMeal_SelectedIndexChanged" required> 
     <asp:ListItem Value="" Text="Select from the list..." /> 
     <asp:ListItem Value="1" Text="Breakfast" /> 
     <asp:ListItem Value="2" Text="Lunch" /> 
     <asp:ListItem Value="3" Text="Dinner" /> 
    </asp:DropDownList> 
    <br /> 
    <asp:TextBox ID="txtStart" runat="server" type="time" required /> 
    <asp:TextBox ID="txtEnd" runat="server" type="time" required /><br /> 
    <asp:Button ID="btnSubmit" runat="server" Text="Submit" /> 
</form> 

.aspx.cs

protected void ddlMeal_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (ddlMeal.SelectedValue != "") // if meal type is selected 
    { 
     if (ddlMeal.SelectedValue == "1") // Breakfast 
     { 
      txtStart.Attributes.Add("min", "07:00:00"); 
      txtStart.Attributes.Add("max", "10:00:00"); 
      txtEnd.Attributes.Add("min", "7:00:00"); 
      txtEnd.Attributes.Add("max", "10:00:00"); 
     } 
     else if (ddlMeal.SelectedValue == "2") // Lunch 
     { 
      txtStart.Attributes.Add("min", "12:00:00"); 
      txtStart.Attributes.Add("max", "14:00:00"); 
      txtEnd.Attributes.Add("min", "12:00:00"); 
      txtEnd.Attributes.Add("max", "14:00:00"); 
     } 
     else // Dinner 
     { 
      txtStart.Attributes.Add("min", "20:00:00"); 
      txtStart.Attributes.Add("max", "22:00:00"); 
      txtEnd.Attributes.Add("min", "20:00:00"); 
      txtEnd.Attributes.Add("max", "22:00:00"); 
     } 
    } 
} 

注:我只測試了屬性值 '時間' 使用谷歌瀏覽器。

乾杯!