我在a.aspx里面定义了一个textbox和一个button,
<asp:textbox id="txtOwner" runat="server" CssClass="inputcss" Width="223px" Height="21"></asp:textbox>
<span style="COLOR: red">&nbsp;[</span>
<A onclick="javascript:window.showModalDialog('SelClient.aspx',window,'status:no;scroll=no;resizable:no;dialogLeft:300;dialogtop:200;help:no;dialogwidth:420px;dialogheight:300px')" href="#">点击选择</A>
<span class="red" style="COLOR: red">]</span>
在'SelClient.aspx'定义了一个grid和一个SubmitBtn的button,我要将grid的选中的一个值是string在按钮点中后传递到a.aspx的txtOwner中去,并关闭当前窗口,点击后txtOwner的值没有效果private void SubmitBtn_Click(object sender, System.EventArgs e)
{
foreach(DataGridItem dgItem in this.ClientList.Items)
{
RadioButton cBox = (RadioButton)dgItem.FindControl("rbSelect");
if(cBox != null)
{
if(cBox.Checked == true)
{
Label  lb=(Label)dgItem.FindControl("name");
Response.Write("<script>window.dialogArguments.document.all.txtOwner.value=lb.Text </script>");
Response.Write("<script>window.opener=null;window.close();</script>");
}
}
}
}
问题出在什么地方,请指教

解决方案 »

  1.   


    Response.Write(" <script> window.opener.document.all.txtOwner.value=lb.Text   </script> "); 
      

  2.   

    关于弹出框对应的父窗口的引用名称opener
      

  3.   

    showmodaldialog没有opener属性的,而且这个对浏览器兼容不好,不建议使用,建议使用window.open加参数模拟,而且有opener对象,比较好操作。
      

  4.   

    LikeCode ,可不可以举个例子?或者帮忙修改一下?
      

  5.   

    javascript弹出ShowModelDialog
    function loadOrderFormRe()
    {
        var reStr = window.showModalDialog('','','dialogWidth:700px;dialogHeight:300px;status:no;scroll:no');
    }在ShowModelDialog弹出的页面后台
    Response.Write("<script language=javascript>window.returnValue='" + reStr + "';</script>");
    Response.Write("<script>self.close()</script>");
    reStr为要传回去的值通过这个来关闭ShowModelDialog
    我的项目里都是这样做的