窗体间值的传输问题

cyp503 2003-02-13 10:29:50
要实现的功能:

BS结构中,a页面有个textbox,点击textbox旁边的小图标弹出b页面,b页面包含一个datagrid,现要选择b页面上的记录,而所选在a页面的textbox中显示。

问题所在:

我应用了ShowModalDialog,但问题是,b页面的翻页功能不能实现,因为postback会刷新整个页面,如果应用<iframe>,我猜测也一样。

请问,该如何实现这种功能呢?
...全文
26 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jlhdlj 2003-06-22
  • 打赏
  • 举报
回复
http://dcren.net/xxtd/aspnet53.htm
blade_780515 2003-02-13
  • 打赏
  • 举报
回复
弹出页面可以使用web页面的,可以在页面放入一个html按钮,加入onclick属性,如:onclick=GetCust(),然后在html代码页面放入如下代码
<script language="JavaScript">
function GetCust()
{
window.open("/LC_System/include/winopen/PactCustNM.aspx?formid=Vendition_FormalPact_AorM&custcd=T_CustCD&identifyno=T_IdNO",null,"height=380 ,width=550,top=0,left=0,resizable=no,status=yes,toolbar=no,menubar=no,location=no");
}
</script>

"...custcd=T_CustCD..."中的T_CustCD就是页面中的文本框
在弹出页面的页面初始化函数PageLoad中放入以下代码:
if(!IsPostBack)
{
...
//接收客户编码对应的文本框控件名称
custcd.Text = Request.QueryString["custcd"];
...
}
其中custcd为隐藏标签

在datagrid中放入选择按钮列,在SelectedIndexChanged事件中放入:
string str_custcd = dg1.SelectedItem.Cells[0].Text.ToString().Trim(); //客户编码
string Fill="window.opener."+formid.Text.Trim()+"."+custcd.Text+".value='"+str_custcd+"'";
Response.Write("<script language='JavaScript'>"+"\n");
Response.Write(Fill+"\n");
Response.Write("</script>"+"\n");
Response.Write("<script language='JavaScript'>"+"\n");
Response.Write("window.close()");
Response.Write("</script>"+"\n");

这样就可以利用javascrip代码把数据传回到那个文本框中,并且能够自动关闭窗口,弹出窗口的datagrid分页和其他页面一样,因为初始化函数中有
if(!IsPostBack)...验证
Morgan_ma 2003-02-13
  • 打赏
  • 举报
回复
You should put the code into "isPostBack".
cyp503 2003-02-13
  • 打赏
  • 举报
回复
谢谢您的回复,通过url string来传输值,一样的会引起页面刷新,假如还有其他输入框的话,一刷新,所填的其他内容就没了。

62,046

社区成员

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

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

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

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