求教:页面跳转及传值。。

reagan0127 2004-11-29 03:45:13
我有一页面A,页面A中有一LinkButton和一DataTable类型的属性。另有一页面B中有一DataTable。
我希望当点击LinkButton时转到页面B,但地址栏显示的仍然是A的地址,这时在B中做若干操作后,点击某按钮回到页面A,同时将B中的DataTable传给A中的DataTable属性。
请问:1,怎么跳转?2,怎么传值?
请高手指教。。。。
...全文
399 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xzq686 2004-11-29
  • 打赏
  • 举报
回复
觉得在一个页面中转向还要返回的时候不清空,很困难。如果弹出一个窗口来处理还比较现实。。
在弹出B页面来处理。
在A页面你要处理的控件放到iframe里面。然后要处理的时候弹出B页面。处理后把结果传回A,刷新A页面的iframe
其实像 goody9807() 说的,变通一下。你要传DataTable,传SQL语句或是传用到的关键参数就行。也就是把DataTable类型的转成串的。。
goody9807 2004-11-29
  • 打赏
  • 举报
回复
1.可以做一个框架
2.不要传DataTable
可以传一个Sql语句然后到b页面上把Sql语句得到Datatable
sweet12345 2004-11-29
  • 打赏
  • 举报
回复
在asp中网页页面之间相互传值,下面的例子是在 webform1 中,点击一个对象,打开一个新的窗口,在新窗口中得到一个数值,传回 webform1,同时,关闭自身.这个可以使用 javascript 来实现.例子如下:
webform1 代码:
<a onClick='javascript:window.open("webform2.aspx?field_name=txt1","_blank",
"toolbar=no,resizable=no,width=320,height=320")' href="#">Click</a>
webform2 代码:
<a href="#" onclick=
'javascript:opener.window.document.all("<%=request.querystring("field_name")%>").value=txt1.value; window.close();return false;'>取回</a>

在第一个页面中,定义一个 超连接 控件(当然,你也可以定义一个button),最主要的是要在它的 onclick 属性中正确使用 javascript 代码,其中,要解释的一点是在在第一个页面调用第二个页面的时候传过去一个参数txt1,它代表着第一个页面中的一个 textbox 对象,在函数 open 中,有三个参数,第一个表示要打开的页面的URL,第二个表示要在一个新的页面中打开窗口,第三个,是定义一些新窗口的外观属性。
reagan0127 2004-11-29
  • 打赏
  • 举报
回复
继续等待高手的指点。。。。
reagan0127 2004-11-29
  • 打赏
  • 举报
回复
另外用Server.Transfer的话,似乎会先中止页面A的执行,但我并不希望页面A被中止。。

或者这么说吧,我在页面A中有一些TextBox,里面写了一些文本,当我跳转到页面B并进行一些操作后,我希望点击某按钮回到页面A,这时页面A的TextBox里面的文本仍然存在,而且页面A中的DataTable类型的属性能取到页面B中的值。。。。

Lengjian 2004-11-29
  • 打赏
  • 举报
回复
跳回a:
Response.Write("<script>history.go(-2)</script>");应该就行了吧?
reagan0127 2004-11-29
  • 打赏
  • 举报
回复
而且我最终是要将页面B的DataTable传给页面A。。。。

盼高手更为详细的指教。。。。。



reagan0127 2004-11-29
  • 打赏
  • 举报
回复
那么我怎么跳会页面A捏?也用Server.Transfer??
Eddie_chan 2004-11-29
  • 打赏
  • 举报
回复
又学到一招 好啊
xzq686 2004-11-29
  • 打赏
  • 举报
回复
Server.Transfer
三、使用Server.Transfer
虽然这种方法有点复杂,但也不失为一种在页面传值的方式。
举个例子看看:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件
代码如下:
private void Button1_Click
(object sender, System.EventArgs e)
{
Server.Transfer("webform2.aspx");
}
4、创建过程来返回TextBox1,TextBox2控件的值代码如下:
public string Name
{
get
{
return TextBox1.Text;
}
}

public string EMail
{
get
{
return TextBox2.Text;
}
}
5、新建一个目标页面命名为webform2
6、在webform2中放置两个Label1,Label2
在webform2的Page_Load中添加如下代码:
private void Page_Load
(object sender, System.EventArgs e)
{
//创建原始窗体的实例
WebForm1 wf1;
//获得实例化的句柄
wf1=(WebForm1)Context.Handler;
Label1.Text=wf1.Name;
Label2.Text=wf1.EMail;

}
运行,即可看到传递后的结果了。
论坛里可以搜得到的。。
colinliu 2004-11-29
  • 打赏
  • 举报
回复
用server.transfer()

62,074

社区成员

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

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

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

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