Hi nauna,
Refer below code.
HTML
<asp:DropDownList runat="server" ID="ddlTimes" AppendDataBoundItems="true">
<asp:ListItem Text="Select" Value="0" />
</asp:DropDownList>
<asp:Button Text="Appoint" runat="server" OnClick="OnAppoint" />
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<ListItem> times = GetTime();
ddlTimes.DataSource = times;
ddlTimes.DataTextField = "Text";
ddlTimes.DataValueField = "Value";
ddlTimes.DataBind();
}
}
private List<ListItem> GetTime()
{
List<ListItem> times = new List<ListItem>();
TimeSpan timeSpan = new TimeSpan(08, 00, 00);
string time = DateTime.Today.Add(timeSpan).ToString("hh:mm tt");
times.Add(new ListItem { Text = "8:00AM To 10:00AM", Value = time });
timeSpan = new TimeSpan(10, 00, 00);
time = DateTime.Today.Add(timeSpan).ToString("hh:mm tt");
times.Add(new ListItem { Text = "10:00AM To 12:00PM", Value = time });
timeSpan = new TimeSpan(12, 00, 00);
time = DateTime.Today.Add(timeSpan).ToString("hh:mm tt");
times.Add(new ListItem { Text = "12:00PM To 14:00PM", Value = time });
timeSpan = new TimeSpan(14, 00, 00);
time = DateTime.Today.Add(timeSpan).ToString("hh:mm tt");
times.Add(new ListItem { Text = "14:00PM To 17:00PM", Value = time });
timeSpan = new TimeSpan(17, 00, 00);
time = DateTime.Today.Add(timeSpan).ToString("hh:mm tt");
times.Add(new ListItem { Text = "17:00PM To 19:00PM", Value = time });
timeSpan = new TimeSpan(19, 00, 00);
time = DateTime.Today.Add(timeSpan).ToString("hh:mm tt");
times.Add(new ListItem { Text = "19:00PM To 22:00PM", Value = time });
return times;
}
protected void OnAppoint(object sender, EventArgs e)
{
if (Convert.ToDateTime(ddlTimes.SelectedValue).Subtract(DateTime.Now).TotalHours <= 1)
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "", "alert('Slot Not Available.')", true);
}
else
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "", "alert('Slot Available.')", true);
}
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not IsPostBack Then
Dim times As List(Of ListItem) = GetTime()
ddlTimes.DataSource = times
ddlTimes.DataTextField = "Text"
ddlTimes.DataValueField = "Value"
ddlTimes.DataBind()
End If
End Sub
Private Function GetTime() As List(Of ListItem)
Dim times As List(Of ListItem) = New List(Of ListItem)()
Dim timeSpan As TimeSpan = New TimeSpan(8, 0, 0)
Dim time As String = DateTime.Today.Add(timeSpan).ToString("hh:mm tt")
times.Add(New ListItem With {.Text = "8:00AM To 10:00AM", .Value = time})
timeSpan = New TimeSpan(10, 0, 0)
time = DateTime.Today.Add(timeSpan).ToString("hh:mm tt")
times.Add(New ListItem With {.Text = "10:00AM To 12:00PM", .Value = time})
timeSpan = New TimeSpan(12, 0, 0)
time = DateTime.Today.Add(timeSpan).ToString("hh:mm tt")
times.Add(New ListItem With {.Text = "12:00PM To 14:00PM", .Value = time})
timeSpan = New TimeSpan(14, 0, 0)
time = DateTime.Today.Add(timeSpan).ToString("hh:mm tt")
times.Add(New ListItem With {.Text = "14:00PM To 17:00PM", .Value = time})
timeSpan = New TimeSpan(17, 0, 0)
time = DateTime.Today.Add(timeSpan).ToString("hh:mm tt")
times.Add(New ListItem With {.Text = "17:00PM To 19:00PM", .Value = time})
timeSpan = New TimeSpan(19, 0, 0)
time = DateTime.Today.Add(timeSpan).ToString("hh:mm tt")
times.Add(New ListItem With {.Text = "19:00PM To 22:00PM", .Value = time})
Return times
End Function
Protected Sub OnAppoint(ByVal sender As Object, ByVal e As EventArgs)
If Convert.ToDateTime(ddlTimes.SelectedValue).Subtract(DateTime.Now).TotalHours <= 1 Then
ClientScript.RegisterClientScriptBlock(Me.GetType(), "", "alert('Slot Not Available.')", True)
Else
ClientScript.RegisterClientScriptBlock(Me.GetType(), "", "alert('Slot Available.')", True)
End If
End Sub
Screenshot