C# 如何从window.ShowModelDialog将值返回到父页面?

C# 如何从window.ShowModelDialog将值返回到父页面?,c#,asp.net,C#,Asp.net,我在将值返回到父页面时遇到一些问题。 请帮忙 我有一个gridview,允许用户在该行添加新记录,但用户也可以单击该行上的搜索按钮,我将显示一个带有以下代码的弹出窗口 TextBox txtCarNo = gvLookup.FooterRow.FindControl("txtNo") as TextBox; System.Text.StringBuilder s = new System.Text.StringBuilder();

我在将值返回到父页面时遇到一些问题。 请帮忙

我有一个gridview,允许用户在该行添加新记录,但用户也可以单击该行上的搜索按钮,我将显示一个带有以下代码的弹出窗口

        TextBox txtCarNo = gvLookup.FooterRow.FindControl("txtNo") as TextBox;           
        System.Text.StringBuilder s = new System.Text.StringBuilder();
        s.Append("<script language='javascript' id='SearchResult'> " );
        s.Append("var WinSettings = 'dialogHeight:400px ; dialogWidth: 550px ;center: Yes ;resizable: No;status: no'; ");
        s.Append("javascript: window.showModalDialog('Search.aspx?no=" + txtNo.Text.Trim().ToUpper() + "','',WinSettings); ");
        s.Append("</script > ");        

        if ((!ClientScript.IsStartupScriptRegistered("SearchResult")))
        {
            ClientScript.RegisterStartupScript(this.GetType(), "SearchResult", s.ToString());
        }
在子页面,将有另一个gridview显示搜索结果,用户可以单击其中一行将数字返回到父页面。 我曾想过使用Session将值传回,但当显示ShowModalDialog时,父页面上的代码已经通过了,这意味着Session在这种情况下不起作用

请告知如何将值返回到父页面。 非常感谢

调用showModalDialog时,您可以执行以下操作:

var oReturnValue = showModalDialog(....);
在showModalDialog中,假设您的文本框的ID为txtForename和TXTNUSAME:

<body onbeforeunload="terminate();">
function terminate()
{
  var o = new Object();
  o.forename = document.getElementById("txtForename").value;
  o.surname = document.getElementById("txtSurname").value;
  window.returnValue = o; 
}

嗨,丹尼,非常感谢你的帮助。我应该把警报放在主窗口的哪里?如果你需要警报,那么它应该在showModalDialog命令之后。嗨,Danny。实际上,在用户从ShowModalDialog中选择一个数字之后,我需要在主页的gridview中的页脚行中显示所选的数字。我面临的问题是,我不知道如何将所选数字分配到页脚行中:您可以使用javascript或jquery访问footer元素并直接向其添加值,例如$yourtable tfoot td.something.htmloReturnValue.forename;或者使用标签并使用document.getElementByIdyourfooterlabel.Text=oReturnValue.forename设置其值。顺便说一句,是特德,丹尼编辑了我帖子中的url链接,这就是为什么他出现在我名字旁边:。把你的页脚的html标记贴给我,我可以告诉你如何在那里添加它。嗨,泰德。我没有添加jquery引用,实际上这是我第一次使用jquery,对此表示抱歉。。哈哈。。。最后我终于完成了,非常感谢你的时间、好意和帮助。。。非常非常感谢……:
alert(oReturnValue.forename + "\n" + oReturnValue.surname);