My page hierarchy is Master page -> Content page -> User control -> <asp:TextBox ID="tboxTravelDate> for date and an icon for calendar. When user clicks on the calendar icon, a calendar pops up (an aspx page). This page has <asp:Calendar> control. In the code-behind for this page, I have Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Calendar1.SelectionChanged Dim js, ElementName As String js = "<script language='javascript' type='text/javascript'> " ElementName = Request.QueryString("ElementName") 'Evaluates to 'tboxTravelDate' js &= "{window.opener.document.getElementById('ctl00_CPHLeft_CF1_" & ElementName & "')" & ".value = '" & Calendar1.SelectedDate.ToString("MM/dd/yyyy") & "'; window.close(); }" js &= "</script>" Response.Write(js) When user clicks on a particular date, the pop up closed (as expected). The selected date is displayed in the parent page in the tboxTravelDate. However, in the code-behind, when I read tboxTravelDate.Text it is an empty string ("") and tboxTravelDate.Length is zero. I have ran out of ideas and looking for some help. Any clues why tboxTravelDate is an empty string and tboxTravelDate.Lenght is zero? Thank you.