A页面有1个Button和1个Leble,点击Button可以弹出B页面。B页面有1个checkbox控件,1个Button,点击选择某项Item后,再点击Button,B页面关闭,A页面的Leble显示B页面选中的Item的Text。我不知道怎样在B页面控制A页面的Leble,请各位帮助解决,谢谢。

解决方案 »

  1.   

    javascript:opener.document.all["Label1"].value = 'fawegawefewg';
      

  2.   

    a页面的代码
    function PO_QueryVendor(displayId,NameID,EKORGid,WAERSid) {
    var popUp;
    //debugger;
    var offsetTop = document.getElementById(displayId).offsetTop;
    var offsetLeft = document.getElementById(displayId).offsetLeft;
    var parentElement = document.getElementById(displayId).offsetParent;
    while (parentElement) {
    offsetTop += parentElement.offsetTop;
    offsetLeft += parentElement.offsetLeft;
    parentElement = parentElement.offsetParent;
    }
    offsetLeft += window.screenLeft - document.body.scrollLeft ;
    offsetTop += window.screenTop  + document.getElementById(displayId).offsetHeight - document.body.scrollTop;

    url = 'dialog/Vendor.aspx?LIFNR='+document.all(displayId).value+'&EKORG='+document.all(EKORGid).value;

    popUp = window.showModalDialog(url, 
    [window], 
    'scroll:yes;dialogWidth:500px;dialogHeight:500px;status:0;dialogLeft:' + offsetLeft + ';dialogTop:' + offsetTop ) ;
    if (popUp != null) {
    document.getElementById(displayId).value = popUp.lifnr;
    document.getElementById(NameID).value = popUp.name1;
    document.getElementById(WAERSid).value = popUp.waers;
    return popUp;
    }
    }
      

  3.   

    displayId,NameID,EKORGid,WAERSid,是你要操作的控件的id,你的情况可以把你的textbox的id传入,然后把b窗体返回的值给他
      

  4.   

    然后b窗体中要定义返回函数,比如
    function result(lifnr,name1,waers) 
    {
    this.waers=waers;
    this.lifnr=lifnr;
    this.name1=name1;
    }

    function setResult(lifnr,name1,waers) 
    {
    window.returnValue = new result(lifnr,name1,waers);
    window.close();
    }
      

  5.   

    B页面的button写javascript:
    opener.document.all["Label1"].value = Item.text;
      

  6.   

    然后在onclick事件中调用这个函数
    比如
    下面是datagrid中一个模板列中一个table的onclick事件
    <asp:TemplateColumn HeaderText="Vendor ID">
    <HeaderStyle Width="60px"></HeaderStyle>
    <ItemTemplate>
    <table id="t1" style="CURSOR: hand">
    <tr>
    <td onclick="setResult('<%# DataBinder.Eval( Container.DataItem, "LIFNR" )  %>','<%# DataBinder.Eval( Container.DataItem, "NAME1" )  %>','<%# DataBinder.Eval( Container.DataItem, "WAERS" )%>')">
    <%# DataBinder.Eval(Container.DataItem, "LIFNR") %>
    </td>
    </tr>
    </table>
    </ItemTemplate>
    </asp:TemplateColumn>
      

  7.   

    这么来着
    A页面的
    private void Page_Load(object sender, System.EventArgs e)
    {
             if(!IsPostBack)
    {
                    Label1.Text=BChange();
    }
    }
    string BChange()
    {
             string str;
             Session["Bvalue"].ToString()=str;
             return str;
    }
    private void Button1_Click(object sender, System.EventArgs e)
    {
         Response.Write("<script>window.opener=null;window.close();</script>");
         Response.Redirect("B.aspx");
    }B页面的
    private void Button1_Click(object sender, System.EventArgs e)
    {
         CheckBox.SelectItem.Text=Session["Bvalue"];
         Response.Write("<script>window.opener=null;window.close();</script>");
         Response.Redirect("A.aspx");
    }