页面刷新传值问题....................................................................

ke5315309 2010-10-22 09:20:04
是这样子的...
我从父页面打个子页面...
子页面通过以下代码刷新父页面...
<Script>window.opener.location.href=window.opener.location.href;</Script>");
现在的说题就是怎么样才能保留父页面上的控件值...父页面控件有服务器控件和客户端控件的文件框控件...
...全文
167 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ke5315309 2010-10-22
  • 打赏
  • 举报
回复
问题搞定...谢谢大家...
槑党--一缕风 2010-10-22
  • 打赏
  • 举报
回复
代码如下
父页面:
<script language="javascript" type="text/javascript">
function Add()
{
var w = window.screen.availWidth*0.6;
var h = window.screen.availHeight*0.65;
var url ="UnInfringeAdd.aspx?Type=Add&Button="+"<%=btnSearch.ClientID%>";
var back = showPopWindow(encodeURI(url), w, h);
if (back != null && back != "" && back != "undefined") {
return true;
}
else{
return false;
}
}

//弹出模态窗口
function showPopWindow(url, width, height) {
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;");
}

function GetTime() {
var theDate = new Date();
var str = theDate.getFullYear() + "-" + (theDate.getMonth() + 1) + "-" + theDate.getDate() + "-" + theDate.getHours() + "-" + theDate.getMinutes() + "-" + theDate.getSeconds();
return str;
}
</script>

<asp:Button ID="btnSearch" runat="server" Text="查询" OnClick="btnSearch_Click" />
后台btnSearch_Click中重新绑定gridview。

弹出页面 保存时调用这个方法
string script = string.Format("<script>ClosePopWin('{0}','保存成功!','true');</script>", Request.QueryString["Button"]);
P.ClientScript.RegisterStartupScript(P.GetType(), "KEY", script );

前台的JS:
//关闭简单弹出页面 btnId查询按钮ID,msg操作后提示信息,isTrue操作是否成功:true false
function ClosePopWin(btnId, msg, isTrue) {

if (msg.length > 0)
alert(msg);
if (isTrue)
{
if(window.dialogArguments.getElementById(btnId)!=null)
window.dialogArguments.getElementById(btnId).click();
}
window.parent.close();
}

希望对你有所帮助!
种草德鲁伊 2010-10-22
  • 打赏
  • 举报
回复
window.opener已经是一个window对象,可以调用父窗口的函数或元素。

要重新加载父窗口,并且保持控件状态,调用父窗口的 __doPostback就行了。
FocusNT 2010-10-22
  • 打赏
  • 举报
回复
还是Cookie比较好吧
gongsun 2010-10-22
  • 打赏
  • 举报
回复
子页面通过以下代码刷新父页面...

-----------------------------------

为啥要刷新呢? 我很不明白啊。

你关闭子页面的时候 完全可以把值传到父页面,用js修改 这个控件中的值 就可以了。
damjmk2 2010-10-22
  • 打赏
  • 举报
回复
问题是你要保存在哪

如果保存在子页面 那可以用 window.parent.GetData()获取父页面的控件值; 这个GetData是父页面的一个方法
酷儿 2010-10-22
  • 打赏
  • 举报
回复
viewstate如果把子页关掉就不行了 值传不过来 用cache缓存吧
soar_net 2010-10-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ke5315309 的回复:]
调用父页的JS函数来更改父页的值 ??
这句还不理解...能不能说一下...
[/Quote]
能不能说说既然不想改变值刷新干吗?
三个方法
1:cookie
2:session
3,viewstate
个人觉得viewstate可行性高
sprc_lcl 2010-10-22
  • 打赏
  • 举报
回复
//父页
function Edit(str)
{
alert(str);
}
//子页:
window.opener.Edit('a');
claymore1114 2010-10-22
  • 打赏
  • 举报
回复
缓存 起来,再取
zy6128012 2010-10-22
  • 打赏
  • 举报
回复
我一般用session的
viewstate我记得子页面关闭了 它的的viewstate也没了
ke5315309 2010-10-22
  • 打赏
  • 举报
回复
调用父页的JS函数来更改父页的值 ??
这句还不理解...能不能说一下...
sprc_lcl 2010-10-22
  • 打赏
  • 举报
回复
这句JS肯定保留不了,就和你按F5刷新本页一样,能保留吗?

不要直接刷新,你可以刷新的时候带上你的传值或调用父页的JS函数来更改父页的值
SK_Aqi 2010-10-22
  • 打赏
  • 举报
回复
viewstate保存一下?

62,272

社区成员

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

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

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

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