需求:
现在我想填一个单子(父窗口)有一个添加产品按钮和gridview,点击按钮弹出子窗口,子窗口中有一些textbox,和button,点击button后,把textbox传给父窗口,然后我把这条明细信息绑定到父窗口中
问题:
现在我在父窗口用returnValue 收的话,又要如何才能绑定到gridview中呢 ,还有就是 不关闭子窗口 不会刷新父窗口,因为我想每添加一条记录就要在父窗口的gridview显示!请问高手有什么办法,或者其他方式!

解决方案 »

  1.   

    在父窗体写个方法处理弹出窗体传来的数据
    弹出窗体在button点击后调用父窗体的那个方法并把文本框内容作为数据传进去
      

  2.   

    楼主的gridview应该是显示商品信息用的吧,如果是,可以采用 window.open 的方法,打开一个子窗口,添加商品资料后,关闭窗口,并同时刷新父窗口,重新获取最新数据,,
      

  3.   

    window.opener 返回的是创建当前窗口的那个窗口的引用,比如点击了a.htm上的一个链接而打开了b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的textbox中,就可以写为: window.opener.document.getElementById("name").value = "输入的数据";
      

  4.   

    要写入父窗体的GridView?
    那你就干脆在子窗体直接提交至数据库,并用js刷新父窗体(父窗体在pageload里绑定GridView)直接用js操作GridView 还不如这样来的简单
      

  5.   

    我现在想弹出窗口 后 添加多条 产品信息 ,而不是 添加一条 后,关闭子窗口刷新父窗口,
    点击子窗口button 后 把相应的信息 绑定到 父窗口的 gridview中 
      

  6.   

    子窗口中点击提交按钮时触发父窗口的"__doPostBack"刷新GV,别的方法没想到呢~~
      

  7.   

    StringBuilder sb = new StringBuilder();
                sb.Append("<script>var cname=window.prompt('请输入公司名称:','新公司名称');");
                sb.Append("document.getElementById('NewCompanyName').value=cname;");
                sb.Append("__doPostBack('" + linkBtnInsertCompany.ClientID + "','');");
                sb.Append("</script>");
                ClientScript.RegisterStartupScript(this.GetType(), "InputCompany", sb.ToString());----------------------------------
     protected void linkBtnInsertCompany_Click(object sender, EventArgs e)
        {
            string cname = NewCompanyName.Value;
            if (cname.Length <= 0)
                return;        StaticInstance.cInfo.UserId = StaticInstance.MembershipUserId;
            StaticInstance.cInfo.Name = cname;        StaticInstance.cHelper.Add(StaticInstance.cInfo);        gvCompanyList_BindData();
        }以前用PROMPT写过的一个例子
      

  8.   

    弹出窗口提交时向数据库添加信息
    但不要关闭
    弹出窗口关闭后再刷新父窗口
    此时添加的信息就绑定至父窗口的GRIDVIEW
      

  9.   

    在子窗口中写一个委托事件,其中参数是TEXTBOX的值和GRIDVIEW,
    然后在父窗口的初始化事件中调用这个事件并把gridview传给这个代理事件即可