注册 登录
编程论坛 ASP.NET技术论坛

[求助]页面间传参

jimnox 发布于 2007-07-27 09:38, 1187 次点击
如何从一个页面超链接到另一个页面的时候传递目标页某个控件的属性?
13 回复
#2
botailang2007-07-27 09:49

用session["变量名"]存储可以;
我也见过,用网页传值的方法
但是忘了

#3
jyoseyi2007-07-27 09:50

Default2.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>get方法 URL中能看见值,汉字乱马</title>
</head>
<body>
<form action="webfrom1.aspx" method ="get">
<table style="width: 344px; left: 67px; position: relative; top: 73px; height: 130px;" border="0" cellpadding="0" cellspacing="0">
<tr>
<td style="width: 76px">
</td>
<td style="width: 158px">
</td>
<td style="width: 149px">
</td>
</tr>
<tr>
<td style="width: 76px; height: 26px;">
</td>
<td style="width: 158px; height: 26px">
<input id="Text1" type="text" name="userpwd" /></td>
<td style="width: 149px; height: 26px;">
</td>
</tr>
<tr>
<td style="width: 76px; height: 23px;">
</td>
<td style="width: 158px; height: 23px">
<input id="Submit1" type="submit" value="提交" /></td>
<td style="width: 149px; height: 23px;">
</td>
</tr>
</table>
</form>
</body>
</html>


webfrom1.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="webfrom1.aspx.cs" Inherits="webfrom1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server" method ="post">

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

webfrom1.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class webfrom1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string pwd = Request["userpwd"].ToString();
Response.Write(pwd);

}

}







#4
cyyu_ryh2007-07-27 10:33
能不用Session的最好不用
#5
virusswb2007-07-27 11:25
那就使用?var=""
#6
冰彩虹2007-07-27 12:14

Default3.aspx页面
Server.Transfer("default4.aspx");

在default4.aspx页面html添加<%@ PreviousPageType VirtualPath="~/Default3.aspx" %>页指令
然后类似下面通过ID获取a.aspx页面的控件等信息
Button btn = (Button)Page.PreviousPage.FindControl("Button5");

#7
jyoseyi2007-07-27 12:40

Default.aspx.cs

protected void Button1_Click(object sender, EventArgs e)
{
string s_url;
s_url = "Default2.aspx?name=" + TextBox1.Text;
Response.Redirect(s_url);

}


Default2.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = Request.QueryString["name"];

}

#8
jimnox2007-08-01 13:49
以下是引用冰彩虹在2007-7-27 12:14:36的发言:

Default3.aspx页面
Server.Transfer("default4.aspx");

在default4.aspx页面html添加<%@ PreviousPageType VirtualPath="~/Default3.aspx" %>页指令
然后类似下面通过ID获取a.aspx页面的控件等信息
Button btn = (Button)Page.PreviousPage.FindControl("Button5");


这个很厉害,谢谢,像窗体传值一样了

#9
cyyu_ryh2007-08-01 15:06
受教了
#10
sean882007-08-01 16:58
以下是引用冰彩虹在2007-7-27 12:14:36的发言:

Default3.aspx页面
Server.Transfer("default4.aspx");

在default4.aspx页面html添加<%@ PreviousPageType VirtualPath="~/Default3.aspx" %>页指令
然后类似下面通过ID获取a.aspx页面的控件等信息
Button btn = (Button)Page.PreviousPage.FindControl("Button5");


郁闷,VS2003里面不能用,不然页面传对象方便多了,省了N个Session`~~~

[此贴子已经被作者于2007-8-1 16:58:45编辑过]

#11
cyyu_ryh2007-08-01 17:38
2003里面可以哦,我这书上就有啊。是2003的书
#12
jimnox2007-08-01 21:01
还有,好像.Net环境下Session可以储存任何一个实例化后的类,这样是不是可以专门写一个类来记录参数呢?
#13
sean882007-08-02 09:37
以下是引用cyyu_ryh在2007-8-1 17:38:21的发言:
2003里面可以哦,我这书上就有啊。是2003的书

但不知道是有些什么不同的写法吗?我在VS2005里面成功执行,但是VS2003里面编译都过不去~~~~

提示错误信息没定义'PreviousPage',前台已经加上那个页面指令:
'System.Web.UI.Page' does not contain a definition for 'PreviousPage'

#14
jyoseyi2007-08-02 10:56
无语!
1