一个大窗口A,里面有个datagrid,一个按钮“条件”。点击“条件”后出现另一个窗口B,在B里输入条件并点击“确定”,A里面的datagrid就会出现相应的结果。
我有两个地方不明白。1)点击“确定”后,怎样才能把条件(一个字符串)传到A?
2)当A得到这个条件字符串后,怎样才能让页面刷新?急,5点前能解决100分相赠。
我有两个地方不明白。1)点击“确定”后,怎样才能把条件(一个字符串)传到A?
2)当A得到这个条件字符串后,怎样才能让页面刷新?急,5点前能解决100分相赠。
解决方案 »
- 是不是不能用验证控件 判断 fck的值为空?
- 正则表达式的替换
- 怎样实现这样的排序SELECT * FROM TABLE WHERE ID IN (-1,200795,200032,200037,200048,200063)
- 请教一个DIV的问题,怎么定位
- 滚动条样式问题,可以设置滚动条宽度吗?
- 让MasterPage支持多语言本地化
- 创建ASP.WEB项目时老出现错误,希望得到帮助!! 在线等!!
- 我显示新闻的标题时,我只想显示前11个字,我用了Substring(0,11),但是当此新闻标题不足11个字的时候,就出错了!
- 如何实现点击一个连接,先执行一个判断函数,如果通过才连接到另一页面,否则非法弹出提示~
- 客户端下载框中弹出两次才能打开文件,不知如何解决?
- 书中的这句代码对吗?
- DataGrid导入Excel,大家遇到这样的问题吗?在线....
1. 在弹出窗口点击确定的时候,把要返回的字符串用 window.returnValue = "字符串值"; 返回父窗口;
2. 当父窗口得到这个返回值了,把这个返回值放到一个隐藏的Text控件中,可以用hidden控件,也可以用asp:textbox控件,后者加上 style="Display:none"即可;然后触发datagrid的绑定事件;这里你可以采用一个隐藏的server button, 假设id是btnBind, 你就用 __doPostBack('btnBind','')触发,在这个按钮的Click事件中通过隐藏的textbox取得条件,然后绑定datagrid.如果是用 window.open 打开窗口:
1. 在父窗口中加入一隐藏Text控件,如上用asp:textbox,假设id是txtCondition;
2. 在确定时候用 window.parent.document.all.txtCondition.value = "字符串";
3. 然后如上,利用隐藏的btnBind触发绑定事件。
在B里面写脚本,BUTTON 和 TEXTBOX都用客户端的:
function a()
{
var tiaojian = window.document.all('tiaojian').value
window.location = "a.aspx?tiaojian="+tiaojian+"";
}
这个时候已经转到A页面了,在Page_load接收文本框里的数据:
string tiaojian = Request.QueryString["tiaojian"];
你取到这个tiaojian 之后跟着执行你的存储过程,或是别的代码.你试试.
http://www.cnblogs.com/fengzhimei/archive/2004/03/16/37686.aspx
可能是我没说清楚。
Response.Redirect("b.aspx");后A窗口就消失了。
我现在是
Response.Write("<script language=javascript>window.open('Fillter.aspx', '', 'top=80; left=150; height=150,width=430,status=no,toolbar=no,menubar=no,location=no')</script>")
然后在DataGrid的ItemDataBind() 时间里面给你的按钮“条件”添加
script = "showModalDialog('dd.aspx',window,'');" ;
按钮“条件”.Attributes.Add("ondblclick", script) ;然后在B页面完成操作后确定按钮添加string scrit="<script language='javascript'> window.dialogArguments.__doPostBack('lnkRefresh' ,''); </script>" ;
Page.RegisterStartupScript("ckck",scrit) ;
Page.RegisterStartupScript("close","<script language='javascript'>window.close()</script>") ;
这样就可以完成 B刷新A
你要显示数据,建议用数据库做中间媒介,A也刷新时再读数据帮定DataGrid
function a()
{
var tiaojian = window.document.all('tiaojian').value
window.opener.location = "a.aspx?tiaojian="+tiaojian+"";
window.close();
}
//刷新A的同时关掉了B页面,不知道是不是你想要的.
以下面的两个窗体为模板,其中WebForm1为主窗口,点击“条件”后出现小窗口WebForm2。在WebForm2的文本框输入文字后,点击“确定”,小窗口消失。WebForm1中的文本筐出现WebForm2中输入的文字,并刷新。(实际问题中有datagrid,所以要刷新重新绑定)。WebForm1.aspx
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="MTRC.OID.Web.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.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<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">
<FONT face="宋体">
<asp:TextBox id="txtResult" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server"></asp:TextBox>
<asp:Button id="btnCondition" style="Z-INDEX: 102; LEFT: 16px; POSITION: absolute; TOP: 45px" runat="server" Text="条件"></asp:Button></FONT>
</form>
</body>
</HTML>
-------------------------------------
WebForm1.aspx.vb
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Private Sub btnCondition_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCondition.Click
Response.Write("<script language=javascript>window.open('webform2.aspx', '', 'top=80; left=150; height=150,width=430,status=no,toolbar=no,menubar=no,location=no')</script>")
End Sub
---------------------------------
WebForm2.aspx
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm2.aspx.vb" Inherits="MTRC.OID.Web.WebForm2"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm2</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<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="txtCondition" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server"></asp:TextBox>
<asp:Button id="btnSubmit" style="Z-INDEX: 102; LEFT: 13px; POSITION: absolute; TOP: 49px" runat="server" Text="确定"></asp:Button>
</form>
</body>
</HTML>
---------------------------重酬!
Page.RegisterClientScriptBlock("refresh","<script>window.opener.location=window.opener.location</script>");
这一句话写在哪?
window.opener.location.href='neworder.aspx?id="+e.Item.Cells[0].Text+"&id1="+e.Item.Cells[1].Text+"';window.opener.location.reload();self.close();";
我用你的window.opener.location.href='neworder.aspx?id="+e.Item.Cells[0].Text+"&id1="+e.Item.Cells[1].Text+"';window.opener.location.reload();self.close();";好象不行啊。出错,说“不重新发送信息,则无法刷新网页”