.NET中利用js让子窗体向父页面传值的实现方法,需要的朋友可以参考一下
子页面C#后台代码: 复制代码 代码如下: /// <summary> /// 将设置好的值赋给父页面 /// </summary> /// <param name="count">需要传递的值</param> void SetValueToParentPage(int count, string strPersons) { StringBuilder jsStr = new StringBuilder(); jsStr.Append(" var retValue = new Object();"); if (count == 0) { jsStr.AppendFormat("retValue = null;"); } else { jsStr.AppendFormat("retValue.Nums='{0}';", count); jsStr.AppendFormat("retValue.Names='{0}';", strPersons); } jsStr.Append("window.returnValue = retValue;window.close();");
ClientScript.RegisterStartupScript(GetType(), "close", jsStr.ToString(), true); }
父页面前台js: 复制代码 代码如下: function OpenPerChoose(url) { var openobj = window; if (typeof (window.dialogArguments) == "object") { openobj = window.dialogArguments; } var returnValue = showPopWin(url, 800, 600, openobj); if (returnValue != null) { document.getElementById("<%=txtQualifiedNums.ClientID %>").value = returnValue.Nums; } }
复制代码 代码如下: //弹出窗口 function showPopWin(url, width, height, returnFunc) { width = parseInt(width) + 30; height = parseInt(height) + 30; return window.showModalDialog(url + "&Datetime=" + GetTime(), document, "dialogWidth:" + width + "px;dialogHeight:" + height + "px;help:0;status:0;scroll:auto;center:1;resizable:1;"); }
<th style="width: 100px;"> 培训合格人数: </th> <td style="width: 50px;"> <asp:TextBox ID="txtQualifiedNums" runat="server" Width="50px" ReadOnly="true"></asp:TextBox> </td>
|