Hi crajesh,
Refer the below sample code.
C#
protected void Page_Load(object sender, EventArgs e)
{
DropDownList ddl = new DropDownList();
ddl.ID = "ddlWeekNumber";
DateTime startDate, endDate;
startDate = new DateTime(DateTime.Now.Year, 1, 1);
endDate = startDate.AddDays(6);
int currentWeekNumber = System.Globalization.CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(DateTime.Now, System.Globalization.CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Sunday);
for (int i = 1; i < currentWeekNumber; i++)
{
ddl.Items.Add(new ListItem(i.ToString(), startDate.ToShortDateString() + "-" + endDate.ToShortDateString()));
startDate = startDate.AddDays(7);
endDate = startDate.AddDays(6);
}
form1.Controls.Add(ddl);
}
VB.Net
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim ddl As New DropDownList()
ddl.ID = "ddlWeekNumber"
Dim startDate As DateTime, endDate As DateTime
startDate = New DateTime(DateTime.Now.Year, 1, 1)
endDate = startDate.AddDays(6)
Dim currentWeekNumber As Integer = System.Globalization.CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(DateTime.Now, System.Globalization.CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Sunday)
For i As Integer = 1 To currentWeekNumber - 1
ddl.Items.Add(New ListItem(i.ToString(), startDate.ToShortDateString() + "-" + endDate.ToShortDateString()))
startDate = startDate.AddDays(7)
endDate = startDate.AddDays(6)
Next
form1.Controls.Add(ddl)
End Sub
Output as HTML
Text = WeekNumber
Value = WeekStartDate - WeekEndDate (1/1/2017-1/7/2017)
<select name="ddlWeekNumber" id="ddlWeekNumber">
<option value="1/1/2017-1/7/2017">1</option>
<option value="1/8/2017-1/14/2017">2</option>
<option value="1/15/2017-1/21/2017">3</option>
<option value="1/22/2017-1/28/2017">4</option>
<option value="1/29/2017-2/4/2017">5</option>
<option value="2/5/2017-2/11/2017">6</option>
<option value="2/12/2017-2/18/2017">7</option>
<option value="2/19/2017-2/25/2017">8</option>
<option value="2/26/2017-3/4/2017">9</option>
<option value="3/5/2017-3/11/2017">10</option>
<option value="3/12/2017-3/18/2017">11</option>
<option value="3/19/2017-3/25/2017">12</option>
<option value="3/26/2017-4/1/2017">13</option>
<option value="4/2/2017-4/8/2017">14</option>
<option value="4/9/2017-4/15/2017">15</option>
<option value="4/16/2017-4/22/2017">16</option>
<option value="4/23/2017-4/29/2017">17</option>
<option value="4/30/2017-5/6/2017">18</option>
<option value="5/7/2017-5/13/2017">19</option>
<option value="5/14/2017-5/20/2017">20</option>
<option value="5/21/2017-5/27/2017">21</option>
<option value="5/28/2017-6/3/2017">22</option>
<option value="6/4/2017-6/10/2017">23</option>
</select>