0

我有一个父页面 inner4.aspx 和一个弹出页面 popupemail.aspx 。现在发生的事情是我在弹出窗口中提取电子邮件 ID 并在 gridview 中显示,当用户选择电子邮件 ID 时,它会通过 javascript 函数转移到父页面。

家长代码:

function setText1(txt) {
            document.getElementById('TextBox4').value = txt;
        }

弹出代码:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridViewRow row = GridView1.SelectedRow;
        //TextBox2.Text = row.Cells[1].Text;


        ScriptManager.RegisterStartupScript(this,GetType(), "settxt", "setText1('"+ row.Cells[1].Text + "');", true);
    }

值没有被转移。 请帮忙

4

3 回答 3

1

将修改后的行复制到您的代码中

ScriptManager.RegisterStartupScript(this,GetType(), "settxt", "window.opener.setText1('"+ row.Cells[1].Text + "');", true);
于 2012-04-05T06:12:16.637 回答
0

you can call parent page by using javascript by using

window.opener.document.getElementById("TextBox4").value = txt;

or you can call parent page function by uisng same way

window.opener.setText();

setText() function written on parent page not in popup page.

于 2012-04-05T06:08:03.437 回答
0

否则在所选索引更改后在服务器端设置一些属性

in the cs
protected string SelectedValue{
   get {
      return "whatever";
   }
}


protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridViewRow row = GridView1.SelectedRow;
        //TextBox2.Text = row.Cells[1].Text;


        SelectedValue = row.Cells[1].Text
    }

in the js
$(document).ready(function(){
    var selectedValue= '<%=SelectedValue%>';
    window.opener.document.getElementById("TextBox4").value = selectedValue;

});

可能存在语法错误。希望这可以帮助。

于 2012-04-05T09:04:58.373 回答