vs2008 父页弹出子页,选定后将值传到父页。

63880880 2016-01-10 09:41:22
vs2003的代码都行,为什么在vs2008就行不通了。
protected void DataGrid1_DeleteCommand(object source, DataGridCommandEventArgs e)
{
Response.Write("<script language=\"javascript\">");
Response.Write("function returntext()");
Response.Write("{"); //window.parent.docuent.getElementById("s").value = s;window.frames[0].document.getElementById("TextBox1").value

Response.Write("window.dialogArguments.document.getElementById('kmbh').value='" + e.Item.Cells[1].Text.ToString().Trim().ToString() + "';");

Response.Write("window.dialogArguments.document.getElementById('customer_id').value='" + DataGrid1.DataKeys[(int)e.Item.ItemIndex].ToString().Trim() + "';");
Response.Write("window.close();");
Response.Write("<script>self.close()</script>");
Response.Write("}");
Response.Write("</script>");


string jsStr;
// jsStr=Response.Output.ToString();
jsStr = "<script language=JavaScript>returntext();</script>";
//Page.ClientScript.RegisterStartupScript(this.GetType(), "", jsStr);
// Page.ClientScript.RegisterClientScriptBlock(this.GetType(), jsStr, jsStr);
AlertMsg(jsStr);
//this.Page.RegisterStartupScript("alert", jsStr);
}
protected void AlertMsg(string msg)
{
// this.Page.RegisterStartupScript("alert", "<script language=\"javascript\">alert('" + msg + "');</script>");
string st = msg ;
ClientScriptManager cs = Page.ClientScript;
cs.RegisterStartupScript(this.GetType(), "alert", st);
}
以上是子页源代码
<base target="_self"/>
<link href="css/forum.css" type="text/css" rel="stylesheet"/>
<% Response.Expires = -1;%>
以上是子页表现层代码。

通过DataGrid,删除触发,选定值传入父页。
父页表现源代码如下。
<script language="javascript" type="text/javascript">

function voucherSelect(pkid) {

var ret;
ret = window.showModalDialog("selectcustomer.aspx?id=" + pkid + "", window, "dialogHeight:500px;dialogWidth:690px;center:Yes;Help:No;Resizable:No;Status:Yes;Scroll:auto;Status:no;");
if (ret > 0)
return false;
}
</script>
</head>
<body >
<form id="Form1" method="post" runat="server">
<table width="100%">
<tr>
<td><uc1:header id="Header1" runat="server"></uc1:header></td>
</tr>
<tr>
<td>
<DIV>当前位置:<font color="#ff0000">首页</font></DIV>
</td>
</tr>
<tr>
<td style="HEIGHT: 21px"><font face="宋体">当前客户销售维护(当日)</font></td>
</tr>
<tr>
<td style="HEIGHT: 21px"><asp:textbox id="kmbh" runat="server" Width="136px"></asp:textbox><input class="greenbuttoncss" style="WIDTH: 39px; HEIGHT: 17px" onclick="voucherSelect('<%=pkid%>')"
type="button" value="查找"/>
...全文
212 9 打赏 收藏 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
63880880 2016-01-17
  • 打赏
  • 举报
回复
重新建立.net版本
秋的红果实 2016-01-13
  • 打赏
  • 举报
回复
建议将js函数写到aspx页面,动态只生成调用参数,便于管理 vs2008里,你建立的项目的.NET版本和原来的一样吗
63880880 2016-01-12
  • 打赏
  • 举报
回复
各位大大,就是aspx源码这里出错。能否提个醒 Response.Write("<script type ='text/javascript'"); Response.Write("function returntext()"); Response.Write("{"); Response.Write("var parWin = window.dialogArguments"); Response.Write("parWin.document.getElementById('kmbh').value='" + e.Item.Cells[1].Text.ToString().Trim().ToString() + "';"); Response.Write("parWin.document.getElementById('customer_id').value='" + DataGrid1.DataKeys[(int)e.Item.ItemIndex].ToString().Trim() + "';"); Response.Write("window.close();"); Response.Write("}"); Response.Write("</script>"); string jsStr; jsStr = "<script language=JavaScript>returntext();</script>"; this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", jsStr);
63880880 2016-01-12
  • 打赏
  • 举报
回复
客户瑞运行是正常的呀。 <script type ="text/javascript"> function getParValues() { // 接收父窗口传过的 window对象. var parWin = window.dialogArguments; parWin.document.getElementById("kmbh").value = "ee"; parWin.document.getElementById("customer_id").value = "33"; window.close(); // } </script>
  • 打赏
  • 举报
回复
你还是直接说F12看输出什么异常了吧 或者将你那个拼接后的js完整的贴出来
Justin-Liu 2016-01-12
  • 打赏
  • 举报
回复
调试一下看看
63880880 2016-01-12
  • 打赏
  • 举报
回复
调试没有反应。正常是单击datagrid的删除控件,就把值写入父页的文本框中。vs2003我都是这样写的,这次升级vs2008后就不行了呢?
c9cad 2016-01-11
  • 打赏
  • 举报
回复
沙发,很实用,但没尝试过。
代码下载链接: https://pan.quark.cn/s/a8fbca3925b4 《鸿蒙OS开发环境构建》指南系统性地阐述了配置和筹备鸿蒙OS开发所需的各种工具和条件的具体方法。鸿蒙OS,亦称HarmonyOS,是由华为研发的一款面向全场景的分布式操作系统,其目标是提供跨平台、多设备间无缝协作的使用体验。本指南涉及了从Linux服务器到Windows工作站的完整开发流程。指南中提及了MobaXterm,这是一款用于连接Linux源码服务器的软件,使得开发人员能够在Windows环境中远程访问Linux服务器。同时,HiTool作为烧录工具,用于将编译后的系统镜像写入开发板。IPOP.EXE则是一款串口终端软件,用于执行串行通信和调试任务。Embedded Studio用于开发设备驱动程序,而DevEco Studio是华为提供的图形化应用程序开发平台,支持C/C++语言,拥有代码编辑、编译、烧录和调试功能,被视为OpenHarmony智能设备开发者的首选集成开发环境。在硬件配置方面,指南列出了必需的设备,包括Linux服务器(推荐Ubuntu 16.04及以上版本),Windows工作台(兼容XP/7/10),以及Hi3518EV300 IoT Camera单板。开发期间,Windows工作台通过USB线与单板相连接,以实现数据传输。此外,为了开展开发工作,还需要安装putty、IPOP、tftp服务器等辅助软件,以及HiTool用于烧录操作。在软件系统要求方面,Linux服务器需要安装bash、Python3.7+、gn、ninja、LLVM等构建工具,这些工具对于生成和执行编译脚本具有关键作用。在Windows工作台上,建议采用Visual Studi...

62,270

社区成员

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

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

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

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