真的很急:关于得到弹出的页面返回值,并根据资格返回值来属性父页面的DG的内容。

2000lhzh 2006-06-10 10:08:49
功能需求:

有A B 两个页面,A 为父页面,B 为弹出页面。

1)A 页面上有DG ,第一次 进入的时候 DG 中的没有值。

2)点击A 页面上的一个按钮弹出B 页面,在B中进行相应的操作之后 B 关闭,并同时刷新A 页面,
使得DG 中有值。

3)当A 中的DG 有值后,进行编辑 的时候,发现如果没有在 ispostback 下绑定DG 的话,编辑状态 之 下是得不到 更改后TExtbox 中的值。
http://community.csdn.net/Expert/topic/4813/4813033.xml?temp=.933758







...全文
208 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
9728 2006-08-25
  • 打赏
  • 举报
回复
mark
c11_11_11 2006-07-25
  • 打赏
  • 举报
回复
shouc
2000lhzh 2006-06-11
  • 打赏
  • 举报
回复
现在已经可以了。

谢谢你。
include_me 2006-06-11
  • 打赏
  • 举报
回复
我就想到了这个...

这个和你要实现的不一样吗?

...

不知道你的错误出在哪???



2000lhzh 2006-06-11
  • 打赏
  • 举报
回复
还有没有其他的方法???
2000lhzh 2006-06-11
  • 打赏
  • 举报
回复
谢谢 include_me(头文件)

我试一下。
include_me 2006-06-10
  • 打赏
  • 举报
回复
主要是为 "Btn_SelectProvider" 增加了二个Click事件,
一个是客户端的[javascript],
另一个是服务器端的...

客户端负责返回值,并根据返回结果判断是否提交到服务端处理.
注意这句: javascript:return SelectProvider();

如果客户端通过判断将提交窗体,即执行服务端的Click事件.
注意这句: protected void Btn_SelectProvider_Click(object sender, System.EventArgs e)

...... 我想这样处理应该是理想的方法 ...

include_me 2006-06-10
  • 打赏
  • 举报
回复
以前做过类似的,不知道是不是你想要的效果..
----------------------------------------
页面A - 前台
-----------------------------------

<HTML>
<HEAD>
<title>InStockOrderDetail</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<script language="javascript">
// 选择供应商对话框
function SelectProvider()
{
var ReturnValue = window.showModalDialog("SelectProvider.aspx",null,'status=0;DialogWidth=420px;DialogHeight=400px;scroll=0');

if(ReturnValue == null || ReturnValue == undefined)
{
return false;
}
else
{
window.Form1.hideProviderCode.value = ReturnValue[0];
window.document.getElementById("ProviderName").innerText = ReturnValue[1];
window.Form1.hideProviderID.value = ReturnValue[2];
}
}
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">

<INPUT id="hideProviderCode" type="hidden" runat="server"> <INPUT id="hideProviderID" type="hidden" runat="server">
<asp:TextBox id="ProviderName" runat="server" Width="150" ForeColor="DimGray" ReadOnly="True"></asp:TextBox> 
<asp:button id="Btn_SelectProvider" runat=server text="选择">



......
<asp:datagrid id="dg" runat=server ....>
......

</form>
</body>
</html>

----------------------------------
页面A - 后台
----------------------------------
protected void Page_Load(object sender, System.EventArgs e)
{

this.Btn_SelectProvider.Attributes.Add("onclick","javascript:return SelectProvider();");
}

protected void Btn_SelectProvider_Click(object sender, System.EventArgs e)
{
if(this.hideProviderCode.Value != string.Empty)
{
DataTable TempTable = GetNewData(this.hideProviderCode.Value);

this.dg.DataSource = TempTable;
this.dg.DataBind();
// this.ViewState["Table"] = TempTable;

}
}
-----------------------------------------------
B页面 - 后台(SelectProvider.aspx.cs)
-----------------------------------------------

protected void Cancel_Click(object sender, System.EventArgs e)
{
this.Response.Write("<script language=\"javascript\">window.close();returnvalue=null;</script>");
}

protected void ok_Click(object sender, System.EventArgs e)
{
if(this.dgProviderList.SelectedIndex == -1)
{
this.Response.Write("<script language=\"javascript\">window.close();returnvalue=null;</script>");
}
else
{
Response.Write("<script language=javascript>arrayObj = new Array(2);arrayObj[0]='"+
this.dgProviderList.SelectedItem.Cells[2].Text.Trim() +"';arrayObj[1]='"+
this.dgProviderList.SelectedItem.Cells[3].Text.Trim() +"';arrayObj[2]='"+
this.dgProviderList.SelectedItem.Cells[1].Text.Trim() +
"';window.close();returnValue=arrayObj;</script>");
}

}




2000lhzh 2006-06-10
  • 打赏
  • 举报
回复
1,2 功能是解决了。但是在刷新A之后,编辑DG 的时候出现了
取不到更改之后 textbox 的值,
我也知道原因是没有放入到 !ispostback 中所,引起的,


如果要实现以上的3个功能,如何实现比较好》》》》》》》》

现在这个问题已经困扰我好几天了。如何解决??
2000lhzh 2006-06-10
  • 打赏
  • 举报
回复
在 弹出的B中我通过刷新A 窗体,并传递相应的参数。
private void IBT_Close_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
string Str_Url="";
Str_Url="window.opener.location='/CRM" + formid.Text + ".aspx?Flag=false" + "&PO=" + this.Txt_PO_NO.Text + "&PODate=" + Txt_Date.Text + "'" ;
Response.Write("<script language='JavaScript'>"+"\n");
Response.Write(Str_Url +"\n");
Response.Write("window.close()");
Response.Write("</script>"+"\n");
}
2000lhzh 2006-06-10
  • 打赏
  • 举报
回复
针对 1 ,2 功能。
我在A中:

private void Page_Load(object sender, System.EventArgs e)
{
#region 弹出页面返回值、刷新主页面
if ( Request.QueryString["Flag"] != null)
{
Txt_PO_NO.Text =Request.QueryString["PO"].ToString();
DG_Bind(); // 绑定DG 方法
}
#endregion

#region 第一次加载页面初始化
if (!IsPostBack)
{
if (Txt_PO_NO.Text.Length==0)
{
Txt_PO_NO.Text =System.DateTime.Now.ToString("yyyyMMddhhmmss");
}
}
#endregion
}

62,039

社区成员

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

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

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

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