showModalDialog返回值问题?要疯了高手帮忙

eyuannet 2006-07-06 03:53:37
父亲窗体有一个button一个TextBox 事件如下:

private void Button1_Click(object sender, System.EventArgs e)
{
Response.Write("<script language=javascript>a = window.showModalDialog('WebForm2.aspx');document.all['TextBox1'].value=a;</script>");
}

}
子窗体可以返回值,但是就是接受不到。
document.all['TextBox1'].value=a不行
document.Form1.TextBox1.value =a也不行
但是用alert(a)可以输出值

有没有人能帮我啊!
不要在ASpx页实现的,只要能在cs页面实现的
...全文
281 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cscer 2006-07-06
  • 打赏
  • 举报
回复
随便起的一个名称,没有什么意义
eyuannet 2006-07-06
  • 打赏
  • 举报
回复
"aa"是干什么的
eyuannet 2006-07-06
  • 打赏
  • 举报
回复
谢谢cpp2017(幕白兄)
Response.Write输出的文本会在其他html之前,此时 TextBox1还没有加载。

可以用:
this.Page.RegisterStartupScript("aa","<script language=javascript>var a = window.showModalDialog('WebForm2.aspx');document.all.TextBox1.value=a;</script>");
cpp2017 2006-07-06
  • 打赏
  • 举报
回复
Response.Write输出的文本会在其他html之前,此时 TextBox1还没有加载。

可以用:
this.Page.RegisterStartupScript("aa","<script language=javascript>var a = window.showModalDialog('WebForm2.aspx');document.all.TextBox1.value=a;</script>");
lljianmao 2006-07-06
  • 打赏
  • 举报
回复
在aspx页面加一个lable控件

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="oo.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
<asp:Button id="Button1" runat="server"
Text="Button"></asp:Button>
<asp:Lableid="lable1" runat="server"
></asp:Lable>
</form>
</body>
</HTML>


private void Button1_Click(object sender, System.EventArgs e)
{
string sScript = "<script language=javascript>var a = window.showModalDialog('WebForm2.aspx');if(a!=null){document.all['TextBox1'].value=a;}</script>";
Literalli = new Literal();
li.Text = sScript;
lable1.Controls.Add(li);
}
eyuannet 2006-07-06
  • 打赏
  • 举报
回复
aspx页面如下

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="oo.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
<asp:Button id="Button1" runat="server"
Text="Button"></asp:Button>
</form>
</body>
</HTML>
eyuannet 2006-07-06
  • 打赏
  • 举报
回复
'parent.document.getElementById(...)'为空或不是对象
eyuannet 2006-07-06
  • 打赏
  • 举报
回复
wd_terry(IQ+EQ=QQ)

parent.document.all.TextBox1为空或不对象//
wd_terry 2006-07-06
  • 打赏
  • 举报
回复
上面的回复错了,你可以在子窗口中执行后给父窗口赋值parent.document.getElementById('TextBox1').value=a;
fairan 2006-07-06
  • 打赏
  • 举报
回复
给你一个例子:
第一个文件:
<html>
<head>
<title>showModalDialog的用法</title>
</head>
<body>
<A href="javascript:void(null)" onclick="window.showModalDialog('aa.htm','这个就是你要实
例','scrollbars=yes;resizable=no;help=no;status=no;dialogTop=25;
dialogLeft=0;dialogHeight=400px');window.dialogArguments">showModalDialog的用法
</a>
</body>
</html>

第二个文件:aa.htm
<html>
<head>
<title>showModalDialog的用法</title>
</head>
<body >
<SCRIPT FOR=window EVENT=onload LANGUAGE="JScript">
document.write(window.dialogArguments);
document.write(window.returnValue);
</SCRIPT>
</body>
</html>
wd_terry 2006-07-06
  • 打赏
  • 举报
回复
private void Button1_Click(object sender, System.EventArgs e)
{
Response.Write("<script language=javascript>a = window.showModalDialog('WebForm2.aspx');parent.document.all['TextBox1'].value=a;</script>");
}
lljianmao 2006-07-06
  • 打赏
  • 举报
回复
private void Button1_Click(object sender, System.EventArgs e)
{
Response.Write("<script language=javascript>var a = window.showModalDialog('WebForm2.aspx');if(a!=null){document.all['TextBox1'].value=a;}</script>");
}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧