To pass value from popup to parent you can easily do with JavaScript
Parent Page
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
Name:
</td>
<td>
<asp:Label ID="lblName" runat="server" Text="[No Name]" />
</td>
<td>
<asp:Button Text="Select Name" runat="server" OnClientClick="return SelectName()" />
</td>
</tr>
</table>
<script type="text/javascript">
var popup;
function SelectName() {
popup = window.open("Popup.aspx", "Popup", "width=100,height=100");
popup.focus();
return false
}
</script>
Popup Page
<asp:DropDownList ID="ddlNames" runat="server">
<asp:ListItem Text="Mudassar Khan" Value="Mudassar Khan"></asp:ListItem>
<asp:ListItem Text="John Hammond" Value="John Hammond"></asp:ListItem>
<asp:ListItem Text="Mike Stanley" Value="Mike Stanley"></asp:ListItem>
</asp:DropDownList>
<br />
<asp:Button Text="Select" runat="server" OnClientClick="return SelectName()" />
<script type="text/javascript">
function SelectName() {
if (window.opener != null && !window.opener.closed) {
var form = window.opener.document.getElementsByTagName("form")[0];
var txtName = GetElement(form, "span", "lblName");
txtName.innerHTML = document.getElementById("ddlNames").value;
}
return false;
}
function GetElement(parent, tagName, id) {
var elem = parent.getElementsByTagName(tagName);
for (var i = 0; i < parent.getElementsByTagName(tagName).length; i++) {
if (elem[i].id.indexOf(id) != -1) {
return elem[i];
}
}
return null;
}
</script>